Facebook(4.6)/Parse(1.9.1) 登录无效

Posted

技术标签:

【中文标题】Facebook(4.6)/Parse(1.9.1) 登录无效【英文标题】:Facebook(4.6)/Parse(1.9.1) Login not working 【发布时间】:2015-11-02 22:05:16 【问题描述】:

我在登录过程中同时使用了 facebook 和 parse - 但是我昨天将两者都更新到了最新版本(facebook 4.6 和 parse 1.9.1),现在我的应用程序的登录过程不再有效。

我调用 parse util 方法来迁移匿名用户:

[PFFacebookUtils linkUserInBackground:[PFUser currentUser]
                  withReadPermissions:permissionsArray
                                block:^(BOOL succeeded, NSError *error)

Facebook 登录过程通过 SFSafariViewController 开始 - 输入凭据并提交这些 - 然后出现白屏并且 SFSafariViewController 没有被关闭 - pfutils 方法也没有回调。

我已遵循 ios9 迁移指南并在我的 plist 中进行了以下设置

    <key>CFBundleURLTypes</key>
    <array>
        <dict>
            <key>CFBundleTypeRole</key>
            <string>Editor</string>
            <key>CFBundleURLName</key>
            <string>fbauth2</string>
            <key>CFBundleURLSchemes</key>
            <array>
                <string>fbidhere</string>
            </array>
        </dict>
    </array>
    <key>FacebookAppID</key>
    <string>idhere</string>
<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>akamaihd.net</key>
            <dict>
                <key>NSIncludesSubdomains</key>
                <true/>
                <key>NSThirdPartyExceptionRequiresForwardSecrecy</key>
                <false/>
            </dict>
            <key>facebook.com</key>
            <dict>
                <key>NSIncludesSubdomains</key>
                <true/>
                <key>NSThirdPartyExceptionRequiresForwardSecrecy</key>
                <false/>
            </dict>
            <key>fbcdn.net</key>
            <dict>
                <key>NSIncludesSubdomains</key>
                <true/>
                <key>NSThirdPartyExceptionRequiresForwardSecrecy</key>
                <false/>
            </dict>
        </dict>
    </dict>

任何帮助将不胜感激

【问题讨论】:

我是个白痴 - 我必须删除粘贴在应用程序委托方法上的内容 - (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *) sourceApplication 注解:(id)annotation return [[FBSDKApplicationDelegate sharedInstance] application:application openURL:url sourceApplication:sourceApplication 注解:annotation ]; 这样就解决了你的问题吗? 是的 - 谢谢,由于某种原因,我自己最初无法回答这个问题 【参考方案1】:

我是个白痴 - 我必须删除粘贴在应用程序委托方法上的内容 -

 -(BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation  return [[FBSDKApplicationDelegate sharedInstance] application:application openURL:url sourceApplication:sourceApplication annotation:annotation ];  

【讨论】:

以上是关于Facebook(4.6)/Parse(1.9.1) 登录无效的主要内容,如果未能解决你的问题,请参考以下文章

无法识别的选择器在 iOS9 上的 facebook sdk 4.6 中发送到 facebook 登录管理器的实例

Parse + Facebook 授权:已为 <facebook> 注册回调:com.parse.ParseFacebookUtils

Bolts 框架[Parse+Facebook] 是不是需要使用 parse webservice?

Parse - 通过 Facebook 应用程序登录 Facebook

Parse 和 Facebook 的问题

使用 Parse 登录 Facebook 时出错