Facebook登录错误,IOS 9,Swift

时间:2015-10-24 06:10:15

标签: ios facebook swift facebook-login

我正在尝试在我的应用中实现facebook登录。但是得到一个错误。 我的info.plist代码是:

   <plist version="1.0">
<dict>
<key>LSApplicationQueriesSchemes</key>
<array>
    <string>fbapi</string>
    <string>fb-messenger-api</string>
    <string>fbauth2</string>
    <string>fbshareextension</string>
</array>
<key>NSAppTransportSecurity</key>
<dict>
    <key>NSExceptionDomains</key>
    <dict>
        <key>facebook.com</key>
        <dict>
            <key>NSIncludesSubdomains</key>
            <true/>
            <key>NSExceptionRequiresForwardSecrecy</key>
            <false/>
        </dict>
        <key>fbcdn.net</key>
        <dict>
            <key>NSIncludesSubdomains</key>
            <true/>
            <key>NSExceptionRequiresForwardSecrecy</key>
            <false/>
        </dict>
        <key>akamaihd.net</key>
        <dict>
            <key>NSIncludesSubdomains</key>
            <true/>
            <key>NSExceptionRequiresForwardSecrecy</key>
            <false/>
        </dict>
    </dict>
</dict>
<key>CFBundleURLTypes</key>
<array>
    <dict>
        <key>CFBundleURLSchemes</key>
        <array>
            <string>fb_APP_ID</string>
        </array>
    </dict>
</array>
<key>FacebookAppID</key>
<string>APP_ID</string>
<key>FacebookDisplayName</key>
<string>APP_Name</string>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>$(PRODUCT_NAME)</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1</string>
<key>LSRequiresIPhoneOS</key>
<true/>
<key>UILaunchStoryboardName</key>
<string>LaunchScreen</string>
<key>UIMainStoryboardFile</key>
<string>Main</string>
<key>UIRequiredDeviceCapabilities</key>
<array>
    <string>armv7</string>
</array>
<key>UISupportedInterfaceOrientations</key>
<array>
    <string>UIInterfaceOrientationPortrait</string>
    <string>UIInterfaceOrientationLandscapeLeft</string>
    <string>UIInterfaceOrientationLandscapeRight</string>
</array>

我收到了这个错误:

2015-10-24 11:38:11.177 APP_Name[3553:150778] -canOpenURL: failed for URL: "fbauth2:/" - error: "(null)"
2015-10-24 11:38:11.190 APP_Name[3553:150778] -canOpenURL: failed for URL: "fbauth2:/" - error: "(null)"

Facebook登录正在发生,但也出现此错误。有什么办法解决这个问题?我已经google了很多,无法解决它。我正在使用Parse和facebook。谢谢你的时间。

3 个答案:

答案 0 :(得分:2)

我得出了相同的结论,但是在此错误消息的路径上有其他问题可能对其他人有帮助 - 所以在这里分享。

我使用 Parse v1.9.0 FBSDK v4.7 &amp; Xcode 7.0.1 。我跟随 Rob Percivals iOS9&amp; Swift 2 课程udemy.com。 (讲座131)。

他曾使用过早期版本的sdks - 他的压缩代码有效,但我收到了fbauth2错误。当我尝试使用最新的sdks时,我甚至无法解决错误。

Parse v1.9.0 下载文件丢失: ParseStarterProject-Bridging-Header.h - 没有它,没有任何导入语句有效。

Parse AppDelegate 告诉您按照Facebook的说明在FB网站上设置所有内容&amp;填充 info.plist 文件,然后取消注释缺少的头文件中的一行。

我从头开始创建了一个 ParseStarterProject-Bridging-Header.h 。将导入语句放入 PFFacebookUtilsV4 / PFFacebookUtils.h &amp;的 FBSDKCoreKit / FBSDKCoreKit.h

另请注意,当您解压 Parse v1.9.0 启动项目时,它并不包含所有框架,因此请务必解压缩解析库 zip然后拖入您的项目。同样适用于Facebook。

此时,我认为一切都会奏效 - 但事实并非如此。还有很多红色错误消息。当我查看“问题导航器”时,找不到 FBSDK ParseFacebookUtilsV4 或我创建的头文件。它们都在导航窗格中,所以我完全糊涂了。

密钥/解决方案位于目标构建设置中。

在搜索路径下: 始终搜索用户路径 - 我将其设置为 - 默认为

框架搜索路径 - 您应该有一个指向项目的指针,但需要在 FBSDK 位置添加一个。如果您遵循建议,它应该是 / Users // Documents / FacebookSDK

Swift编译器 - 代码生成:

Install Objective-C Compatibility Header = YES

Objective-C Bridging Header = ParseStarterProject/ParseStarterProject-Bridging-Header.h

我花了一些时间来获取正确的语法 - 如果您使用 ParseStarterProject 并将头文件放在与 AppDelegate ViewController相同的组中 - 以上内容适合您。

解析提供的默认 PFFacebookUtils.initializeFacebook()行对我不起作用 - 一直显示错误,所以我替换为Facebook提供的测试代码的变体。工作就像一个魅力 - 仍然得到fbauth2错误,但现在到了fb登录屏幕&amp;连接的。当我发现fbauth2错误消息没有产生负面影响时,您可以忽略它们:)

如果你一直在努力解决Parse&amp; FB整合 - 希望这有帮助!

答案 1 :(得分:0)

答案:你可以忽略这条消息......

@Jonathan Hornby @ joan16v:我遇到了同样的问题,但是将代码放在一个操作按钮(不在viewDidLoad方法中)对我有效。

BTW:您不再需要桥接标题

答案 2 :(得分:0)

只有在使用模拟器时才会出现此错误消息,而不是在使用设备时。

由于你的info.plist没问题,你可以忽略它。

检查此答案:iOS 9 Facebook login simulator -canOpenURL: failed for URL: "fbauth2:///" - error: "(null)"