Facebook登录问题iOS9 + Parse

时间:2016-01-21 16:26:57

标签: ios objective-c facebook parse-platform

尝试使用以下代码使用Facebook + Parse登录:

我注意到单击“使用Facebook登录”按钮时,它会在控制台中显示两次。

  

-canOpenURL:网址失败:" fbauth2://" - 错误:"此应用程序不允许查询方案fbauth2"

这是我的代码:

- (IBAction)loginWithFacebook:(id)sender {
        // Set permissions required from the facebook user account
        NSArray *permissionsArray = @[ @"user_about_me", @"user_relationships", @"user_birthday", @"user_location"];

        // Login PFUser using Facebook
        [PFFacebookUtils logInWithPermissions: permissionsArray block:^(PFUser * _Nullable user, NSError * _Nullable error) {
            if (!user) {
                NSLog(@"Uh oh. The user cancelled the Facebook login.");
            } else if (user.isNew) {
                NSLog(@"User signed up and logged in through Facebook!");
            } else {
                NSLog(@"User logged in through Facebook!");
            }

        }];


}

我已将此添加到我的plist中,如其他主题中所示,但仍然会出现相同的错误。 [[编辑以下仍然存在相同问题]]

<key>CFBundleURLTypes</key>
    <array>
        <dict>
            <key>CFBundleURLSchemes</key>
            <array>
                <string>fb991863067537019</string>
            </array>
        </dict>
    </array>
    <key>FacebookAppID</key>
    <string>991863067537019</string>
    <key>FacebookDisplayName</key>
    <string>Ziplyne</string>
    <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>LSApplicationQueriesSchemes</key>
        <array>
           <string>fbapi</string>
           <string>fb-messenger-api</string>
           <string>fbauth2</string>
           <string>fbshareextension</string>
        </array>

1 个答案:

答案 0 :(得分:2)

如果您使用iOS SDK 9.0进行重新编译,请将以下内容添加到您的应用程序的plist中,如果您使用的是SDK v4.5或更早版本的版本:

<key>LSApplicationQueriesSchemes</key>
<array>
    <string>fbapi</string>
    <string>fbapi20130214</string>
    <string>fbapi20130410</string>
    <string>fbapi20130702</string>
    <string>fbapi20131010</string>
    <string>fbapi20131219</string>    
    <string>fbapi20140410</string>
    <string>fbapi20140116</string>
    <string>fbapi20150313</string>
    <string>fbapi20150629</string>
    <string>fbauth</string>
    <string>fbauth2</string>
    <string>fb-messenger-api20140430</string>
</array>

如果您从早于v4.6版本的版本使用FBSDKMessengerShareKit,也请添加

<string>fb-messenger-platform-20150128</string>
<string>fb-messenger-platform-20150218</string>
<string>fb-messenger-platform-20150305</string>

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

<key>LSApplicationQueriesSchemes</key>
<array>
        <string>fbapi</string>
        <string>fb-messenger-api</string>
        <string>fbauth2</string>
        <string>fbshareextension</string>
</array>

Doc:https://developers.facebook.com/docs/ios/ios9