I\'m trying to test out the new built-in share \"sheet\" for Facebook on iOS 6 but when I run the sample code it doesn\'t show the sheet. Instead it posts a status for me wi
Did you set up the Facebook account on the device/simulator (under Settings->Facebook)?
The native sheet dialogs are only presented when the app is running on ios 6 AND the user is authenticated through the ios 6 Facebook account. Otherwise, the handler does report that error and the presentShareDialogModallyFrom
returns "NO". Also, the FBNativeDialogResult result
in the handler will equal FBNativeDialogResultError
.
Make sure you're not opening sessions using deprecated methods (ie.openActiveSessionWithPermissions instead of the newer openActiveSessionWithReadPermissions/openActiveSessionWithWritePermissions) or the facebook sdk won't use native facebook integration (ie. native dialogs)
You are missing some of the required frameworks:
AdSupport.framework
Account.framework
Social.framework
BOOL displayedNativeDialog =
[FBNativeDialogs
presentShareDialogModallyFrom:self
initialText:self.shareText
image:nil
url:nil
handler:^(FBNativeDialogResult result, NSError *error) {
if (error) {
/* handle failure */
NSLog(@"error:%@, %@", error, [error localizedDescription]);
} else {
if (result == FBNativeDialogResultSucceeded) {
/* handle success */
NSLog(@"handle success");
} else {
/* handle user cancel */
NSLog(@"user cancel");
}
}
}];
if (!displayedNativeDialog) {
/* handle fallback to native dialog */
}