Ios 如果在安装应用程序后登录帐户,则应用程序将不会显示在设置->facebook中
我发现iOS帐户设置有一个奇怪的问题。当我工作时,我发现如果用户在安装我的应用程序后在设备设置中登录facebook,我的应用程序将无法访问facebook帐户 准确地说,我的应用程序不会显示在允许这些应用程序使用您的帐户上。因此,我对这个问题做了一些测试: 一,。安装应用程序后登录Facebook->未显示 1-1。删除应用程序并重新安装->未显示 二,。Facebook在应用程序安装后重新登录->未显示,所有已授权或未授权的应用程序也不会显示 三,。在安装应用程序之前登录Facebook->显示 而且,一旦遇到问题,它是不可逆的,无论你重新登录facebook,重新安装应用程序或重新启动设备都无法解决问题。只有本地iOS应用程序和Facebook应用程序将保留在列表中 有一个关于的老问题,但这个问题没有得到回答。 有人遇到过同样的问题吗 更新日期2013.11.20上午11:38 我在使用ACAccount时犯了两个错误,下面是访问facebook帐户的示例代码:Ios 如果在安装应用程序后登录帐户,则应用程序将不会显示在设置->facebook中,ios,iphone,facebook,acaccount,Ios,Iphone,Facebook,Acaccount,我发现iOS帐户设置有一个奇怪的问题。当我工作时,我发现如果用户在安装我的应用程序后在设备设置中登录facebook,我的应用程序将无法访问facebook帐户 准确地说,我的应用程序不会显示在允许这些应用程序使用您的帐户上。因此,我对这个问题做了一些测试: 一,。安装应用程序后登录Facebook->未显示 1-1。删除应用程序并重新安装->未显示 二,。Facebook在应用程序安装后重新登录->未显示,所有已授权或未授权的应用程序也不会显示 三,。在安装应用程序之前登录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确实节省了我们的时间。因此,如果您使用此方法,请记住关注此问题,这可能在将来得到修复
注意。我回答自己的问题是为了防止它变成风滚草……我也经历过同样的事情。我遵循了你的解决方案。访问请求仍然被拒绝,但该应用程序确实显示在“设置”中,您可以在那里“打开”,然后可以发布。