联系使用权限请求iphone
我的应用被苹果审查小组拒绝了。根据他们的说法,原因是 “17.1:未经用户事先许可并向用户提供访问权限,应用程序无法传输有关用户的数据 关于如何以及在何处使用数据的信息。具体而言, 您的应用程序在未请求权限的情况下访问用户联系人 第一个“ 但是,我在我的联系使用权限请求iphone,iphone,ios,appstore-approval,privacy,Iphone,Ios,Appstore Approval,Privacy,我的应用被苹果审查小组拒绝了。根据他们的说法,原因是 “17.1:未经用户事先许可并向用户提供访问权限,应用程序无法传输有关用户的数据 关于如何以及在何处使用数据的信息。具体而言, 您的应用程序在未请求权限的情况下访问用户联系人 第一个“ 但是,我在我的info.plst中使用了**NSContactsUsageDescription**键来指定在我的应用程序中使用联系人的原因 要获得权限,我还需要做些什么?在iOS 6中,您需要使用通讯簿权限请求iphone来访问其设备联系人:- 实现类似以
info.plst
中使用了**NSContactsUsageDescription**
键来指定在我的应用程序中使用联系人的原因
要获得权限,我还需要做些什么?在iOS 6中,您需要使用通讯簿权限请求iphone来访问其设备联系人:- 实现类似以下示例的代码的方法:
ABAddressBookRef addressBook;
if ([self isABAddressBookCreateWithOptionsAvailable]) {
CFErrorRef error = nil;
addressBook = ABAddressBookCreateWithOptions(NULL,&error);
ABAddressBookRequestAccessWithCompletion(addressBook, ^(bool granted, CFErrorRef error) {
// callback can occur in background, address book must be accessed on thread it was created on
dispatch_async(dispatch_get_main_queue(), ^{
if (error) {
} else if (!granted) {
} else {
// access granted
[self GetAddressBook];
}
});
});
} else {
// iOS 4/5
[self GetAddressBook];
}
您必须询问用户您的应用程序是否可以访问您的通讯簿。此功能在iOS 6.0及更高版本中实现 您可以尝试以下代码段:
#define SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] != NSOrderedAscending)
在-视图中将出现:
// Asking access of AddressBook
// if in iOS 6
if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"6.0"))
{
// Request authorization to Address Book
addressBook_ = ABAddressBookCreateWithOptions(NULL, NULL);
if (ABAddressBookGetAuthorizationStatus() == kABAuthorizationStatusNotDetermined)
{
ABAddressBookRequestAccessWithCompletion(addressBook_, ^(bool granted, CFErrorRef error)
{
if (granted == NO)
{
// Show an alert for no contact Access
}
});
}
else if (ABAddressBookGetAuthorizationStatus() == kABAuthorizationStatusAuthorized)
{
// The user has previously given access, good to go
}
else
{
// The user has previously denied access
// Send an alert telling user to change privacy setting in settings app
}
}
else // For iOS <= 5
{
// just get the contacts directly
addressBook_ = ABAddressBookCreate();
}
//请求访问通讯簿
//如果在iOS 6中
如果(系统版本大于或等于(@“6.0”))
{
//请求对通讯簿的授权
addressBook=ABAddressBookCreateWithOptions(NULL,NULL);
if(ABAddressBookGetAuthorizationStatus()==kABAuthorizationStatusNotDetermined)
{
ABAddressBookRequestAccessWithCompletion(地址簿^,已授予bool,CFErrorRef错误)
{
如果(已授予==否)
{
//显示无联系人访问的警报
}
});
}
else if(ABAddressBookGetAuthorizationStatus()==kABAuthorizationStatusAuthorized)
{
//用户之前已授予访问权限,很好
}
其他的
{
//用户以前拒绝访问
//发送警报,告知用户更改“设置”应用程序中的隐私设置
}
}
else//对于iOS,您的消息是否明确表示您将发送数据、数据的目的地、存储时间以及数据的用途?应用程序支持哪些版本的iOS?不支持。但是他们提到他们没有弹出窗口。我没有将联系人发送到任何地方。我只是使用它来显示或添加联系人。不是每次您授予“确定”权限时,都会显示警报。使用NSContactUsageDescription键后,安装时此弹出窗口会在新设备中显示联系人。I认为使用这种方法,我可以知道该应用程序当前是否具有联系人使用权限,是吗?