Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/98.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如果在安装应用程序后登录帐户,则应用程序将不会显示在设置->facebook中_Ios_Iphone_Facebook_Acaccount - Fatal编程技术网

Ios 如果在安装应用程序后登录帐户,则应用程序将不会显示在设置->facebook中

Ios 如果在安装应用程序后登录帐户,则应用程序将不会显示在设置->facebook中,ios,iphone,facebook,acaccount,Ios,Iphone,Facebook,Acaccount,我发现iOS帐户设置有一个奇怪的问题。当我工作时,我发现如果用户在安装我的应用程序后在设备设置中登录facebook,我的应用程序将无法访问facebook帐户 准确地说,我的应用程序不会显示在允许这些应用程序使用您的帐户上。因此,我对这个问题做了一些测试: 一,。安装应用程序后登录Facebook->未显示 1-1。删除应用程序并重新安装->未显示 二,。Facebook在应用程序安装后重新登录->未显示,所有已授权或未授权的应用程序也不会显示 三,。在安装应用程序之前登录Facebook->

我发现iOS帐户设置有一个奇怪的问题。当我工作时,我发现如果用户在安装我的应用程序后在设备设置中登录facebook,我的应用程序将无法访问facebook帐户

准确地说,我的应用程序不会显示在允许这些应用程序使用您的帐户上。因此,我对这个问题做了一些测试:

一,。安装应用程序后登录Facebook->未显示

1-1。删除应用程序并重新安装->未显示

二,。Facebook在应用程序安装后重新登录->未显示,所有已授权或未授权的应用程序也不会显示

三,。在安装应用程序之前登录Facebook->显示

而且,一旦遇到问题,它是不可逆的,无论你重新登录facebook,重新安装应用程序或重新启动设备都无法解决问题。只有本地iOS应用程序和Facebook应用程序将保留在列表中

有一个关于的老问题,但这个问题没有得到回答。 有人遇到过同样的问题吗

更新日期2013.11.20上午11:38

我在使用ACAccount时犯了两个错误,下面是访问facebook帐户的示例代码:

    // Check if store exists
if(!_accountStore)
    _accountStore = [[ACAccountStore alloc] init];

ACAccountType *facebookTypeAccount = [_accountStore accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierFacebook];

// Request access, note that one should not check if the account is available until the access right is granted
[_accountStore requestAccessToAccountsWithType:facebookTypeAccount
                                       options:@{ACFacebookAppIdKey: @"FACEBOOK_API_KEY", ACFacebookPermissionsKey: @[@"read_stream"]}
completion:^(BOOL granted, NSError *error) {
    if(granted){
        NSArray *accounts = [_accountStore accountsWithAccountType:facebookTypeAccount];
        _facebookAccount = [accounts lastObject];
        NSLog(@"Success");
    }else{
        // ouch
        _facebookAccount = nil;
        NSLog(@"Failed, Error: %@", error);
        dispatch_async(dispatch_get_main_queue(), ^{
            NSString *message = [NSString stringWithFormat:@"No facebook account or access denied by user. Error:%@", error];
            UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"系統提示" message:message delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
            [alert show];
        });
    }

}];
我在进入账户前检查账户数量

我不确定这是否是APPLE SDK的错误,如果我请求访问publish_stream,请求将失败

然后,我看到了关于requestAccessToAccountsWithType错误的讨论。据说我们应该请求两次权限,一次用于读取,一次用于写入

因此,我将访问权限从publish_stream更改为read_stream,然后它就可以工作了。我的应用程序再次显示在列表中

虽然请求写入权限失败,但这并不影响用户的post能力

更新日期:2014年8月12日上午12:31


报告说,在执行上述步骤后,权限仍可能被拒绝,但该应用程序确实显示在设置中,从而可以将其打开。

我已在问题更新中解决了该问题。这似乎是一个解决办法,但目前它确实解决了问题。如果您想了解解决方案的详细信息,请参见上面编辑的问题

要解决这个问题,我们必须:

将权限访问从发布流更改为读取流。虽然您被请求读取权限,但您仍然可以发布到用户的时间线

没有进一步的步骤

我认为这可能是account框架的一个缺陷。然而,研究Facebook API确实节省了我们的时间。因此,如果您使用此方法,请记住关注此问题,这可能在将来得到修复


注意。我回答自己的问题是为了防止它变成风滚草……

我也经历过同样的事情。我遵循了你的解决方案。访问请求仍然被拒绝,但该应用程序确实显示在“设置”中,您可以在那里“打开”,然后可以发布。