【问题标题】:FSSDKShareKit - FBSDKShareDialog crash on init iOSFSSDKShareKit - 初始化 iOS 上的 FBSDKShareDialog 崩溃
【发布时间】:2015-09-30 10:22:47
【问题描述】:

这是我的问题:我已经放弃了https://developers.facebook.com/docs/ios/getting-started 中的所有步骤

我已经从官方网站下载了最新的SDK,我已经配置了Facebook App Settings并正确设置了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 *dialog = [[FBSDKShareDialog alloc] init] 上崩溃。

大家有什么建议吗?

非常感谢

编辑:

我尝试使用 FBSDKShareButton,但遇到了同样的问题,在初始化时崩溃...谢谢!

【问题讨论】:

    标签: ios objective-c iphone facebook xcode7


    【解决方案1】:

    找到了解决这个问题的方法.. 根据调试模式下的异常消息。 需要在名为 LSApplicationQueriesSchemes 的 Info.plist 中添加参数。

    如果您使用的是v4.6.0的SDK,您只需要添加:

    <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

    【讨论】:

    • 感谢 Sam Weng,我在 plist 中包含了类似的内容,我不记得是否准确 :) 我会再试一次并告诉你!感谢您的回答顺便说一句
    【解决方案2】:
    <i>
    -(BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation{
    
    return [FBAppCall handleOpenURL:url
                  sourceApplication:sourceApplication];}       
    

    这段代码对我有用。你可以试试。

    【讨论】:

    • 感谢 Avinash Jadhav 的回答,但 FBAppCall 是 SDK 的旧版本,不适合我
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-15
    • 1970-01-01
    • 2017-09-04
    • 1970-01-01
    • 2015-12-20
    • 1970-01-01
    相关资源
    最近更新 更多