这是我的问题:我已经完成了https://developers.facebook.com/docs/ios/getting-started
中的所有步骤我已经从官方网站下载了最新的SDK,我已经配置了Facebook应用设置并正确设置了plist文件。
我已将所需的框架复制到Frameworks文件夹中,如下所述: http://i.stack.imgur.com/kYXdq.png
我把它放在我的appDelegate:
中 // AppDelegate.m
#import <FBSDKCoreKit/FBSDKCoreKit.h>
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
return [[FBSDKApplicationDelegate sharedInstance] application:application
didFinishLaunchingWithOptions:launchOptions];
}
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
return [[FBSDKApplicationDelegate sharedInstance] application:application
openURL:url
sourceApplication:sourceApplication
annotation:annotation
];
}
在按钮触发的方法中使用FBSDKCore和FBSDKShare之后,我将使用以下代码:
FBSDKShareLinkContent *content = [[FBSDKShareLinkContent alloc] init];
content.contentURL = [NSURL URLWithString:@"my URL"];
FBSDKShareDialog *dialog = [[FBSDKShareDialog alloc] init];
dialog.fromViewController = self;
dialog.shareContent = content;
dialog.mode = FBSDKShareDialogModeShareSheet;
[dialog show];
我的应用程序在带有SIGABRT的FBSDKShareDialog *对话框= [[FBSDKShareDialog alloc] init]上崩溃。
你们有什么建议吗?
非常感谢
编辑:
我试过使用FBSDKShareButton,我遇到了同样的问题,在init上崩溃了......谢谢!
答案 0 :(得分:2)
找到了解决这个问题的方法.. 根据调试模式下的Exception消息。 需要在Info.plist中添加名为LSApplicationQueriesSchemes的参数。
如果您使用的是SDK的v4.6.0,则只需添加:
<key>LSApplicationQueriesSchemes</key>
<array>
<string>fbapi</string>
<string>fb-messenger-api</string>
<string>fbauth2</string>
<string>fbshareextension</string>
</array>
参考Facebook SDK文档。 https://developers.facebook.com/docs/ios/ios9
答案 1 :(得分:0)
<i>
-(BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation{
return [FBAppCall handleOpenURL:url
sourceApplication:sourceApplication];}
这段代码对我有用。你可以试试。