我正在使用ACAccountStore通过 Facebook 从适用于iOS 6或更高版本的iPhone的原生设置进行登录。 登录时我要求获得如下许可:
[accountStore requestAccessToAccountsWithType:accountType options:options completion:^(BOOL granted, NSError *error)
对于共享,我想使用相同的帐户。并且为了共享我使用的代码如下:
if([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook])
但是,登录后,如果在通过设置共享之前拒绝授权,那么如何再次访问该帐户?
如果我再次执行请求,则会再次提示权限提示。
我只想让帐户访问该Facebook帐户。
任何人都可以回答吗?提前致谢。 (:
答案 0 :(得分:2)
ACAccountStore *accountStore = [[ACAccountStore alloc] init] ;
ACAccountType *facebookAccountType = [accountStore accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierFacebook];
NSLog(@"ACCESS %d",facebookAccountType.accessGranted);
if(facebookAccountType.accessGranted)
{
NSLog (@"You are already granted accees").
}
通过使用上面的代码行,您可以了解用户是否已授予Facebook访问权限。
答案 1 :(得分:0)
如果通过设置撤销访问权限,我猜您的用户不想再让您的应用访问该帐户。
作为与具有隐私保护的服务进行交互的一般建议(也适用于位置服务等):如果用户授予权限,请求他们并使用它们。否则,请尊重用户的决定,不要再次请求许可。
如果您的应用绝对需要服务才能正常工作,您可以在用户尝试使用该特定功能时提醒用户,并解释您的应用需要该特定权限的原因。
Apple的文档中有几处概述了这种方法。