![](/img/trans.png)
[英]Facebook native login is not opening facebook app even if it's installed in device?
[英]Facebook login in IOS works on emulator but not on device with native app installed
面臨以下問題:需要在IOS 7中執行Facebook登錄。該操作在模擬器上正常進行,但是在安裝了本機應用程序的設備上運行時,會話不授予執行登錄的權限。
使用代碼創建會話:
checarLogin方法的工作方式如下:
我已經用谷歌搜索找到它,並發現控制Facebook應用程序權限的設備設置在兩種情況下的工作方式不同:
仿真器給予權限沒有問題:
下圖也來自仿真器,但僅用於說明設備默認的工作方式:
所以問題是:在安裝了本地Facebook應用程序的真實設備中運行時,還有其他方法可以處理登錄,並使其無需更改iPhone設置即可接受權限?
這是我在應用程序中使用的,您必須允許登錄UI。
- (BOOL)openSessionWithAllowLoginUI:(BOOL)allowLoginUI completionHandler:(FBSessionStateHandler)handler {
// We pass this permissions array into our request.
// I only request email, but there are many more options.
//
NSArray *permissions = @[@"email", @"basic_info"];
return [FBSession
openActiveSessionWithReadPermissions:permissions
allowLoginUI:allowLoginUI
completionHandler:^(FBSession *session,
FBSessionState state,
NSError *error) {
if (handler)
handler(session, state, error);
}];
}
這就是你使用它的方式
[self openSessionWithAllowLoginUI:YES completionHandler:^(FBSession *session, FBSessionState status, NSError *error) {
if (!error && status == FBSessionStateOpen) {
NSString *token = session.accessTokenData.accessToken;
// You're logged in!
} else {
// Something wrong happened
}
}];
我遇到了類似的問題,這對我有用:
https://stackoverflow.com/a/12069251/2407717
一位同事更改了我們的某些項目設置,包括Bundle Identifier ,因此它不再與Facebook上的iOS Bundle ID相匹配。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.