在将Facebook sdk更新为3.5后,当尝试执行openActiveSessionWithReadPermissions时,操作失败.以下是打开会话和处理回调的代码段:
[FBSession openActiveSessionWithReadPermissions:@[@"email", @"user_hometown", @"user_location", @"user_birthday"]
allowLoginUI:YES
completionHandler:
^(FBSession *session,
FBSessionState state, NSError *error) {
switch (state) {
case FBSessionStateCreatedTokenLoaded:
case FBSessionStateOpenTokenExtended:
case FBSessionStateOpen:
{
completion(TRUE);
break;
}
case FBSessionStateClosed:
case FBSessionStateClosedLoginFailed:
completion(FALSE);
[FBSession.activeSession closeAndClearTokenInformation];
break;
default:
break;
}
}];
Run Code Online (Sandbox Code Playgroud)
我最终在FBSessionStateClosedLoginFailed情况下,我得到一个FBSKLog如下:
FBSDKLog: Cannot use the Facebook app or Safari to authorize, fb123456789012345 is not registered as a URL Scheme
Run Code Online (Sandbox Code Playgroud)
Sap*_*van 16
我有同样的问题.上面的代码解决了这个问题.你必须用文本编辑器编辑你的.plist文件.但在Xcode中你不会看到任何变化.而不是URL类型 - CFBundleURLTypes而不是URL Schemes应该是CFBundleURLSchemes.
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLSchemes</key>
<array>
<string>fb48524**********</string>
</array>
</dict>
</array>
Run Code Online (Sandbox Code Playgroud)
ale*_*mix 10
看来我的URL方案与我的FacebookAppId不匹配.无论出于何种原因,这似乎不是一个问题,但现在是相关的.确保您的Facebook URL Scheme是您的FacebookAppID前缀为fb(在您的.plist文件中).例如:
FacebookAppId:123456789012345
URL类型 - >项目0 - > URL方案 - >项目0:fb123456789012345
| 归档时间: |
|
| 查看次数: |
11090 次 |
| 最近记录: |