gpt4 book ai didi

ios - 联系人访问权限显示在模拟器中,但有时不会显示在真实设备上

转载 作者:行者123 更新时间:2023-11-28 11:43:45 26 4
gpt4 key购买 nike

我有一个请求访问联系人的简单代码

override func viewDidLoad() {
super.viewDidLoad()
fetchContacts()
}
func fetchContacts()
{
let allowedCharset = CharacterSet
.decimalDigits
let store = CNContactStore()
store.requestAccess(for: .contacts) { (granted, err) in
if let error = err
{
print("failed to access",error)
return
}
if (granted)
{
///// after we get access to fetch contacts //// we reload table view data ///
print("access granted")
let keys = [CNContactGivenNameKey,CNContactPhoneNumbersKey,CNContactFamilyNameKey,CNContactMiddleNameKey]
let request = CNContactFetchRequest(keysToFetch: keys as [CNKeyDescriptor])
do {
try store.enumerateContacts(with: request, usingBlock: { (contact, stopPointerIfYouWantToStopEnumerating) in
let array = contact.phoneNumbers
for number in array
{
let fullName = contact.givenName + contact.middleName
let lastName = contact.familyName
let value = number.value.stringValue
let number = String(value.unicodeScalars.filter(allowedCharset.contains))
print (number)
/////////// 4 cases we just need the phone not to be zero ///////

if (fullName != "SPAM")
{
self.firstName.append(fullName)
self.lastName.append(lastName)
self.numberArray.append(number)
}
}

})
//self.table()
}
catch let err2 {
print ("failer to enurmerate",err2)
}
}
}
}

此代码在模拟器上运行良好。当我在模拟器上删除应用程序并清理然后再次构建并运行该应用程序时它工作正常弹出 View 出现权限请求,但是在真实设备上它工作权限第一次弹出时我从手机中删除应用程序然后清理构建并运行 我没有再次收到 pop 权限请求

最佳答案

当你删除一个应用程序时,如果你想在同一天删除它,iOS 会保留一天的包标识符权限

  1. 通过将 iPhone 操作系统 (iOS) 日期增加一天来更改 iPhone 操作系统 (iOS) 数据
  2. 等一天
  3. 重置设备设置

enter image description here

Click here apple docs 引用,我采取截图形式,你也可以检查它。

关于ios - 联系人访问权限显示在模拟器中,但有时不会显示在真实设备上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52899920/

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