Kev*_*vin 7 abaddressbook abperson cloudkit ios9
iOS9不推荐使用CloudKit和ABPerson的用户信息功能.
例如,在CKDiscoveredUserInfo的属性中
firstName"在iOS 9.0中已弃用
lastName"在iOS 9.0中已弃用
我想要以前在iOS8 CloudKit中提供的姓氏和名字.
如何在iOS9 CloudKit,ABPerson或其他东西中检索类似的信息?
[[UIDevice currentDevice] name];
NSArray *nameArray = [[NSHost currentHost] names];
NSString *user = [nameArray objectAtIndex:0];
Run Code Online (Sandbox Code Playgroud)
两者都打印出例如John'iPhone.
在CKDiscoverAllContactsOperation 的文档中,您可以看到:
\n\n\n\n\n对用户\xe2\x80\x99s 地址簿的搜索不会返回有关用户\xe2\x80\x99s 联系人的任何个人数据。搜索仅返回相应用户记录的 ID,其中仅包含您的应用放入其中的数据。CloudKit 使用地址簿信息来识别当前用户认识的应用程序的用户。由于系统访问的是通讯录而不是您的应用,因此当发生该访问时,系统不会向用户显示提示。
\n
查看 CloudKit 仪表板时,您可以看到 User 表中也没有名称。所以你也可以不获取它。
\n\n我认为苹果正在将这项服务设为匿名。你必须自己实现一些东西来将名称附加到 id 上。正如您所描述的,您可以使用设备名称,也可以让用户自己输入他的名字。
\n\n我的第一个想法是通过首先使用ABAddressBookCopyArrayOfAllPeople查询所有联系人,然后使用每封电子邮件的CKDiscoverUserInfosOperation查找所有电子邮件 来实现此目的 。但显然这一功能在 iOS 9 中也被停产了。
\n\n苹果似乎正在停止访问所有个人数据。当您转到预发布库并过滤地址时,您仍然会看到很多参考文献。但一旦你进入详细信息页面,你只会看到所有内容都已被弃用。
\n| 归档时间: |
|
| 查看次数: |
2672 次 |
| 最近记录: |