【问题标题】:Facebook iOS SDK 4 error info.plistFacebook iOS SDK 4 错误 info.plist
【发布时间】:2015-06-05 01:21:43
【问题描述】:

我正在使用 Facebook-iOS-SDK-4 进行 FB 登录,但是当我尝试编译时出现此错误。

2015-06-05 03:15:02.001 Hooiz[4681:781254] *** 终止应用程序由于 未捕获的异常“InvalidOperationException”,原因: 'fb620223481391648 未注册为 URL 方案。请加进去 你的 Info.plist'

我的.plist 就像 Facebook 文档:

【问题讨论】:

  • 确保您的 id (fb620223481391648) 前面或后面没有空格

标签: ios facebook swift sdk facebook-ios-sdk


【解决方案1】:

用文本编辑器打开你的info.plist文件,你应该会发现它是这样的

<key>CFBundleURLTypes</key>
<array>
    <dict>
        <key>CFBundleURLName</key>
        <string></string>
        <key>CFBundleURLSchemes</key>
        <array>
            <string>fb288500927xxxxx</string>
        </array>
    </dict>
</array>
<key>Item 0</key>
<dict>
    <key>CFBundleURLSchemes</key>
    <array>
        <string>fb288500927xxxxxx</string>
    </array>
</dict>
<key>CFBundleVersion</key>
<string>1</string>
<key>FacebookAppID</key>
<string>288500927xxxxxx</string>
<key>FacebookDisplayName</key>
<string>حميتي</string>

将其更改为这种格式(注意两种格式之间的区别)清理构建并重新启动 XCode。你就完成了:)

    <key>CFBundleURLTypes</key>
<array>
    <dict>
        <key>CFBundleURLName</key>
        <string></string>
        <key>CFBundleURLSchemes</key>
        <array>
            <string>fb288500927xxxxxx</string>
        </array>
    </dict>
</array>
<key>CFBundleVersion</key>
<string>1</string>
<key>FacebookAppID</key>
<string>288500927xxxxxx</string>
<key>FacebookDisplayName</key>
<string>حميتي</string>

【讨论】:

  • 你能解释一下两者之间有什么不同吗?因为我没有看到任何格式差异...
  • 看看 CFBundleURLSchemes 部分在每种情况下是如何构造的:)
  • 我的应用程序中仍未修复
  • @KrishSolanki 你能描述一下你的步骤吗?
【解决方案2】:

首先, 验证您是否正确执行了 Getting Started 说明。

验证您是否将此代码添加到您的应用委托:

#import <FBSDKCoreKit/FBSDKCoreKit.h>

- (void)applicationDidBecomeActive:(UIApplication *)application {
  [FBSDKAppEvents activateApp];
}

- (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];
}

在那之后, 信息下方还有另一部分 - URL Types(这是我花了几个小时的地方)

检查 URL Schemes 字段下的值是否与属性列表中 URL types -> URL Schemes 中的值匹配多于。 (并且还匹配 FacebookAppID)

【讨论】:

    【解决方案3】:

    再次检查您的 Facebook 应用 ID。在 info.plist 中添加您注册的 Facebook 应用程序 ID。并且还将 URL Scheme 标识符 fbXXXXXXXXXXXX(XXXXXXXXX 是您之前添加的 Facebook 应用程序 ID)添加到 info.plist 并检查

    希望这会有所帮助!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-04-05
      • 1970-01-01
      • 2013-06-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多