我想要Facebook app native dialog login(https://developers.facebook.com/docs/technical-guides/iossdk/login/#fbnative).
在控制台中,单击FBLoginView时收到以下消息:
FBSDKLog: Cannot use the Facebook app or Safari to authorize, fb**** is not registered as a URL Scheme
Run Code Online (Sandbox Code Playgroud)
但我完全按照这里做的那样:将Facebook SDK更新为3.5后无法打开活动会话
最近Facebook的服务器上有关于他们如何处理登录请求的事情一定有所改变,因为这曾经完美地工作并突然停止.
(我们正在使用,FBSDKLoginManager.loginBehavior = FBSDKLoginBehaviorWeb因为我们的应用程序被复制用于多个品牌(一个代码库,许多应用程序)以及我们使用本机登录遇到的问题.)
无论如何,当我们尝试向用户呈现登录webview时(在它们甚至让他们尝试登录之前),这就是我们现在看到的:
(未登录:您尚未登录.请登录并重试.)
这是我们用来呈现登录视图的代码:
NSString *const publish_actions = @"publish_actions";
FBSDKLoginManager* login = [FBSDKLoginManager new];
login.loginBehavior = FBSDKLoginBehaviorWeb;
[login logInWithPublishPermissions:@[publish_actions] handler:^(FBSDKLoginManagerLoginResult *result, NSError *error) {
[FBSDKAccessToken setCurrentAccessToken:result.token];
// ...
}];
Run Code Online (Sandbox Code Playgroud)
另请注意,此问题并非特定于iOS.我们的Android应用程序看到了同样的事情(并且直到最近它再次工作正常).
我们正在构建一个应用程序,该应用程序在Xcode 5上使用针对iOS 7的最新Facebook iOS SDK(3.15)。存在一个关联的Web产品,并且我们使用3种环境进行部署:生产,登台和开发。对于每种环境,我们都有一个单独的Facebook应用程序,该应用程序有据可查,并且在网络上运行良好。然而,Facebook的iOS版SDK需要指定FacebookAppID,FacebookDisplayName以及URL Schemes在我们的Info.plist文件。我们的移动应用程序还设置了3种环境,每种环境使用不同的配置。我无法使Facebook SDK与我们Info.plist文件中特定于配置的值配合使用。
谁能帮我指出正确的方向,以使用多个Facebook应用程序设置多个iOS应用程序环境?
class func openFacebook(id: String){ //id is a username in this case
let name = id.replace(" ", withString: "")
let hook = "fb://profile/" + name
let hookURL = NSURL(string: hook)
if UIApplication.sharedApplication().canOpenURL(hookURL!){
UIApplication.sharedApplication().openURL(hookURL!)
} else {
UIApplication.sharedApplication().openURL(NSURL(string: "http://facebook.com/" + name)!)
}
}
Run Code Online (Sandbox Code Playgroud)
我尝试这样做,但它永远不会打开应用程序.它总是打开浏览器.我没有使用facebook sdk.我只是想从我的应用程序打开Facebook,到用户的个人资料.