gpt4 book ai didi

ios - 以编程方式更改 iOS 上的隐私设置

转载 作者:可可西里 更新时间:2023-11-01 06:08:12 25 4
gpt4 key购买 nike

在过去的一天里,我一直在尝试完成一个访问用户地址簿中的联系人的 View Controller 。我一直在注册各种应用程序,并在他们要求您访问您的地址簿的地方浏览他们的注册流程。

这些应用程序有两种不同的方式来处理地址簿访问:

  1. 该应用程序想要访问联系人,因此它们会显示一个 UIAlertView 窗口,其中显示如下内容:“我们需要访问您的地址簿。您可以通过转到设置 > 隐私 > 联系人 > 打开以启用此功能应用名称。

  2. 该应用想要访问联系人,因此它们会显示一个 UIAlertView 窗口,其中显示如下内容:“我们需要访问您的联系人,以便我们可以找到您的 friend ”

选项 2 的不同之处在于,在 UIAlertView 窗口中,它们实际上有 2 个按钮,用于“不允许”和“确定”。

我的印象是,如果您真的按下“确定”,它将允许访问您的联系人,如果您按下“不允许”,它将阻止该应用访问您的联系人。

但是,即使我在这些应用程序中按“确定”,它甚至不会更改隐私设置。按“不允许”也不会改变任何东西。

那么,这些应用程序是否只是出于某种原因选择显示“确定”和“不允许”,尽管事实上它们甚至无法工作或根本没有任何功能?我假设有一种方法可以以编程方式更改隐私设置,并且通过按下“确定”按钮可以调用一个方法来实际执行某些操作。

我在 iPhone 4S 上使用 iOS 7.0.4,我最近才开始为 iOS 开发,所以我只有 iOS 7 的经验。

我只是不明白什么是真正可能的以及为什么我会遇到上述行为。

如果有人能帮我解决这个问题,我将不胜感激。

最佳答案

第一个不会改变任何东西,因为它是告诉您如何在设置应用程序中启用相关隐私设置的说明。您必须转到设置应用程序并导航到正确的 View 并自行更改隐私设置

可以在 iOS 设备上访问用户的联系人。而且您不必编写自定义消息来告诉用户您需要许可的原因。 Apple 将通过系统 alertView 提示用户。我认为第二个应该在您按下“确定”时调出系统 alertView。

您必须在访问用户的联系人之前输入以下代码。 applicationDidFinishLaunching 中的某处应该是好的。

ABAddressBookRef addressBookRef = ABAddressBookCreateWithOptions(NULL, NULL);

if (ABAddressBookGetAuthorizationStatus() == kABAuthorizationStatusNotDetermined) {
ABAddressBookRequestAccessWithCompletion(addressBookRef, ^(bool granted, CFErrorRef error) {
if (granted) {
// access has been granted.
} else {
// User denied access
}
});
}
else if (ABAddressBookGetAuthorizationStatus() == kABAuthorizationStatusAuthorized) {
// The user has previously given access
}
else {
// The user has previously denied access

}

关于ios - 以编程方式更改 iOS 上的隐私设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22312858/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com