簡體   English   中英

在 facebook ios6 中沒有進入 if(granted) 循環“使用 Facebook 登錄”

[英]In facebook ios6 not entering in to the if(granted ) loop "Sign in with Facebook"

嗨,我正在“使用 facebook 登錄”工作,我的代碼在下面這里沒有進入 if(granted) 循環。 在我單擊彈出窗口中的“確定”后,控制台打印如下 2 012-11-28 15:47:08.558 Tattoo Later[2748:1d34b] type:com.apple.facebook identifier: B962F897-6BAE-4769-8C04-B1B3D2C872A2 accountDescription: Facebook username: example@yahoo.co.in objectID: x-coredata://EBF41CAD-7388-45E0-8621-3958C7A67491/Account/p1 enabledDataclasses: {( "com.apple.Dataclass.Contacts", "com.apple.Dataclass.Calendars" )} enableAndSyncableDataclasses: {( )} properties: { fullname = "Example"; uid = 100001462475956; } parentAccount: (null) owningBundleID:(null) 012-11-28 15:47:08.558 Tattoo Later[2748:1d34b] type:com.apple.facebook identifier: B962F897-6BAE-4769-8C04-B1B3D2C872A2 accountDescription: Facebook username: example@yahoo.co.in objectID: x-coredata://EBF41CAD-7388-45E0-8621-3958C7A67491/Account/p1 enabledDataclasses: {( "com.apple.Dataclass.Contacts", "com.apple.Dataclass.Calendars" )} enableAndSyncableDataclasses: {( )} properties: { fullname = "Example"; uid = 100001462475956; } parentAccount: (null) owningBundleID:(null)

當我們點擊“使用 Facebook 登錄”時我的代碼:

-(IBAction)loginWithFacebookClicked:(id)sender
{
 ACAccountStore *accountStore = [[ACAccountStore alloc] init];
ACAccountType *accountType = [accountStore accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierFacebook];
NSArray * permissions = [NSArray arrayWithObjects:@"email",@"user_location", nil];
        NSDictionary * dict=[NSDictionary dictionaryWithObjectsAndKeys:@"238864112907671",ACFacebookAppIdKey,permissions,ACFacebookPermissionsKey,ACFacebookAudienceEveryone,ACFacebookAudienceKey, nil];
[accountStore requestAccessToAccountsWithType:accountType options:dict completion:^(BOOL granted, NSError *error) {
            if(granted ) {
                NSArray *accountsArray = [accountStore accountsWithAccountType:accountType];
if ([accountsArray count] > 0) {
ACAccount *fbAccount = [accountsArray objectAtIndex:0];
                    NSLog(@"%@",fbAccount);
}
            }
            else
            {
                NSLog(@"%@",[error localizedDescription]);
            }
        }];
}

最初我遇到了一些錯誤,例如

Facebook 服務器無法滿足此訪問請求:被代理的應用程序在事先未安裝的情況下無法請求發布權限。

Error Domain=com.apple.accounts Code=7 “Facebook 服務器無法完成此訪問請求:無效的應用程序 ID” UserInfo=0xa29f520 {NSLocalizedDescription=Facebook 服務器無法完成此訪問請求:無效的應用程序 ID}

后來我通過搜索解決了,但我沒有得到解決方案

請指導我在此先感謝

答案很簡單! 完成塊稍后在任意線程上調用。 因此,如果您逐步進行,它實際上會退出您的方法並繼續在主線程上工作,稍后當您收到響應時,它會進入 if 或 else 部分。 您的日志實際上證明您已經輸入了 if 部分(它記錄了帳戶)。 如果您在 if 部分放置一個斷點,您會注意到這種行為。 所以你的代碼沒問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM