4

我正在使用 ACAccountStore从 iOS 版本 6 或更高版本的 iPhone 的本机设置通过Facebook登录。对于登录,我要求获得如下许可:

[accountStore requestAccessToAccountsWithType:accountType options:options completion:^(BOOL granted, NSError *error)

对于共享,我想使用相同的帐户。为了分享,我使用了如下代码:

if([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook])

但是,登录后,如果在通过设置分享之前授权被拒绝,那么如何再次获得该帐户的访问权限?

如果我再次发出请求,它会再次提示权限警报。

我只想要访问该 Facebook 帐户的帐户。

任何人都可以回答吗?提前致谢。(:

4

2 回答 2

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 访问权限。

于 2016-07-25T07:18:25.170 回答
0

如果通过设置撤销访问权限,我猜您的用户不想再让您的应用访问该帐户。

作为与具有隐私保护的服务交互的一般建议(也适用于定位服务等):请求它们并在用户授予许可时使用它们。否则尊重用户的决定,不再征求许可。

如果您的应用程序绝对需要一项服务才能正常工作,您可以在用户尝试使用该特定功能时提醒用户,并解释您的应用程序为何需要该特定权限。

这种方法在 Apple 文档的多个地方都有概述。

于 2013-07-09T12:01:58.777 回答