如何阅读iOS 10.1.1中的电话号码 - 目标C/Swift
问题描述:
我看到了很多关于此问题的问题。所有答案都说这是不可能的。 Apple
不允许这样做。如何阅读iOS 10.1.1中的电话号码 - 目标C/Swift
我使用iPhone 6s
上iOS 10.1.1
昨天我跑我插入新的SIM当我打开WhatsApp
之后购买新的SIM Card.Just。我得到一个屏幕,其中说:
`Your number has been changed. Do you want to use new number`
whatsapp如何能够做到这一点?
其次我安装了Airtel
应用程序。当我打开应用程序。它会自动提取我的电话号码并显示给我。
这些应用程序如何能够读取电话号码。
苹果是否在iOS 10
中增加了新的方法,或者他们正在使用其他逻辑来执行此操作。
答
ios 10中的隐私有些变化。如果您想访问应用程序中的联系人数据库,您必须添加到plist文件中的新密钥。
<key>NSContactsUsageDescription</key> <string>$(PRODUCT_NAME) want use you contacts</string>
答
有一个观察者subscriberCellularProviderDidUpdateNotifier
按照该文档here
是在默认优先级全局 调度队列调度块对象当用户的手机供应商信息的变化。 例如,如果用户在应用程序运行时用另一个提供商提供的 卡交换设备的SIM卡,则会发生这种情况。
要处理蜂窝服务提供商信息的变化,请在您的应用程序中定义一个 块,并将其分配给此属性。必须实现 块才能支持从任何上下文中调用。
这只是通知你,你的SIM卡已被更改。
关于你提到的第二个问题,你可以使用Contacts.framework
如何导致得到的电话号码联系应用程序获得的数量。由于那里我只能得到其他联系方式 – Dalvik
我认为@Rajat是正确的。他们使用'subscriberCellularProviderDidUpdateNotifier'来获取您的电话号码并与现有的WhatsApp数据库匹配。 – Poles
@Poles我从没有提到'subscriberCellularProviderDidUpdateNotifier'你可以获得电话号码,这只是一个观察者,当你改变你的手机供应商 – Rajat