我正在尝试在我的应用中实现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。谢谢你的时间。
答案 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)"