1

目前我正在开发一个与 Facebook 集成的 iOS 应用程序。需要用户的 Facebook 帐户才能登录应用程序。

这是我通过 ACAccount 工作的部分,例如 Apple Developer 工具。但是,当用户没有设置 Facebook 帐户时,我会收到错误消息(没关系)。现在,当发生这种情况时,我想显示这样的警报:

脸书提醒

我想我可以通过“prefs”网址方案来做到这一点。但是这些似乎已经从 iOS 5.1 中删除了设置。有没有办法重现这个警报?

编辑:

根据这篇文章找到了一种方法。

- (void)showFacebookAlert
{
    SLComposeViewController *mySLComposerSheet = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook];
    //Hide keyboard and actual view, only interested in the alert.
    mySLComposerSheet.view.hidden = YES;
    [mySLComposerSheet.view endEditing:YES];
    [self.navigationController presentViewController:mySLComposerSheet animated:NO completion:nil];
}

然而,前两行的“键盘”(至少在 iOS 7 上)是可见的。所以你需要延迟调用它,然后它的工作方式如下:

[self performSelector:@selector(showFacebookAlert) withObject:nil afterDelay:0.2];

虽然在模拟器中似乎不起作用。按下时它不会进入设置。

4

1 回答 1

0

抱歉不行。由于在 iOS5.1 中删除了 prefs url 方案,因此您无法显式调用本机设置应用程序。这可以在许多情况下观察到(不仅与 FB 相关),您希望请求访问用户数据/位置/等的权限,但这些已经被用户主动限制 - 此时您能做的最好的就是带上发出信息警报,准确解释用户需要进入设置中的哪个位置以允许您访问所需的权限。

于 2013-07-27T14:23:14.607 回答