我正在使用此处Facebook SDK找到的,并且正在尝试提供的示例(在文件夹中).FacebookiOSSample
如果我只是AppId用我的具体替换这里AppId,那么我就不能再分享了.(我在AppDelegate文件和info.plist文件中都替换了它).我现在收到以下错误:
FBSDKLog:无效使用FBAppCall,fb****未注册为URL方案.你在plist中设置了'FacebookUrlSchemeSuffix'吗?
否则,这适用于样本的原始内容AppId,该内容指向某个名称IFaceTouch.
我的应用程序设置有什么问题,如何注册我的AppId?
在按照Facebook的教程后,我在实现此功能时遇到问题:https: //developers.facebook.com/docs/howtos/share-appid-across-multiple-apps-ios-sdk/
基本上,我在同一个项目下有2个目标 - 一个用于免费版本,另一个用于高级版本.我为此创建并设置了一个Facebook应用程序,并添加了2个url方案后缀:

另外,我在相应的plist文件中添加了后缀.例如,高级应用程序定义为:

"xxxxx ..."只是我的Facebook应用ID.
毕竟,我仍然无法登录iOS 5.0和6.0上的应用程序(使用本机FB对话框或Safari中的SDK对话框).这是我通过Safari登录时得到的:

登录的代码是:
NSArray *permissions = kInitialPermissions;
BOOL result = NO;
FBSession *session = [[FBSession alloc] initWithAppID:@"xxxxxxxxxxx"
permissions:@[]
urlSchemeSuffix:@"premium"
tokenCacheStrategy:nil];
if (allowLoginUI ||
(session.state == FBSessionStateCreatedTokenLoaded)) {
[FBSession setActiveSession:session];
}
result = [FBSession openActiveSessionWithReadPermissions:permissions
allowLoginUI:allowLoginUI
completionHandler:completion];
return result;
Run Code Online (Sandbox Code Playgroud)
任何想法将不胜感激.谢谢!
在将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) 我有2个使用相同Facebook App Id的应用程序.我试图使用URL后缀,我有一些问题.
我按照这个教程但没有运气......
结果(使用FBSDKLoginManager进行登录)我在Safari中打开FB,我可以接受登录请求然后"无法打开页面"消息.
当我在Safari中输入"fb123456789suffix://"时,它会启动我的应用程序
当我在Safari中输入"fb123456789://"时,会出现"无法打开页面"消息.
看起来FB没有更新应用程序页面中的后缀,因为如果我在.plist中输入url而没有后缀(fb123456789),一切正常.
你有任何想法或建议,为什么这不起作用?
PS.我在iOS应用程序中使用最新的FB SDK.
编辑:这不重复.这是不同的问题,我FacebookUrlSchemeSuffix在.plist文件中缺少参数,
像这样:
NSString *stringURL = @"appname://";
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];
Run Code Online (Sandbox Code Playgroud)
我稍微记得有必要为Info.plist写一个值键.怎么样?
我正试图在我的iPhone应用程序中使用新的Facebook"一次性身份验证"流程.
想法是该应用程序链接到Facebook应用程序或Safari以要求用户登录到Facebook,然后Facebook使用自定义URL方案将用户返回到应用程序.
我在应用程序中设置了自定义URL方案,按照Facebook的指示(例如'fbmyapp')预先设置'fb'.在Safari中键入"fbmyapp://"时也可以这样做 - 即我的应用程序启动了.这确认了自定义URL方案有效.
我可以使用应用程序中的以下调用成功地将用户带到Safari和Facebook应用程序中的登录页面:
facebook = [[Facebook alloc] init];
[facebook authorize:appId permissions:permissions delegate:self];
Run Code Online (Sandbox Code Playgroud)
我在应用程序中启用了多任务(允许应用程序在后台运行).
但是,成功登录Facebook应该重定向回我的应用程序,但我从Safari获得了例如:"无法打开页面 - Safari无法打开页面,因为地址无效".我在Facebook应用程序中收到类似的消息.
任何帮助将不胜感激.
提前致谢.
当我将我的应用程序部署到真实设备时,我得到了"FBSDKLog:无法使用Facebook应用程序或Safari进行授权,fb6262xxxxxxx未注册为URL方案"我在此线程中遵循了所有解决方案而未解决问题