我在appcelerator钛金属应用程序中设置了一个视图,几乎与facebook登录的厨房水槽演示中的视图相同。我想对IOS使用单点登录:
//LoginView Component Constructor
function LoginView() {
//create object instance, a parasitic subclass of Observable
var self = Ti.UI.createView();
// APP ID BELOW IS CHANGED FOR DEMO PURPOSES
Titanium.Facebook.appid = "111111111111111";
Titanium.Facebook.permissions = ['email', 'publish_actions'];
// ENABLE SINGLE SIGN ON
Titanium.Facebook.forceDialogAuth = false;
self.add(Titanium.Facebook.createLoginButton({
style:Ti.Facebook.BUTTON_STYLE_WIDE,
bottom:30
}));
return self;
}
module.exports = LoginView;
单击登录按钮时,它会成功打开safari中的facebook登录对话框并登录。然后,当它试图将我带回应用程序时,我收到错误:
无法打开页面 Safari无法打开页面因为地址 无效
非常相似的代码在厨房水槽应用程序中正常工作,并且禁用单点登录使得通过Facebook登录在我的应用程序中正常工作。
我在facebook应用程序中的所有设置都是: Facebook登录 - 已启用
我是否遗漏了设置中的任何内容?
答案 0 :(得分:1)
想出来:
在我的Facebook应用设置中(在developers.facebook.com上),我将捆绑ID设置为与Appcelerator中的应用相同的ID。
将build / iphone /中的Info.plist复制到应用程序的根目录中。
在app下面的Info.plist中添加了xml元素fb11111111111111:
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLName</key>
<string>com.mycompany.app</string>
<key>CFBundleURLSchemes</key>
<array>
<string>app</string>
<string>fb111111111111111</string>
</array>
</dict>
</array>
其中111111111111111更改为应用的ID