我正在使用 ABPersonView 显示和编辑 ABPerson。我这样做是这样的:
ABPerson *person = (ABPerson *)[_addressBook recordForUniqueId:[curDict valueForKey:@"id"]];
[_personView setPerson:person];
[_personView setEditing:YES];
其中 _personView 是我的 ABPersonView。当我使用 ABPersonView 编辑 ABPerson 并保存地址簿时:
[ABAddressBook addressBook] save];
它确实保存并且在 AddressBook 应用程序中我可以看到它的值已更改,但我在 Xcode 和控制台中收到以下错误消息:
我首先得到这个:
sandboxd: ([3082]) AddressBookSync(3082) deny file-read-data /Users/xcodeuser/Library/Developer/Xcode/DerivedData/CompanyName-asdxadsafadfqmwqxaagdsfgafguge/Build/Products/Debug
紧随其后的是很多这样的:
sandboxd: ([3035]) AddressBookSync(3035) deny mach-lookup com.apple.syncservices.SyncServer
并以此结束:
AddressBookSync[3035:707] [0x10011ba50] |ISyncManager|Warning| SyncServer is unavailable: timed out trying to connect
AddressBookSync[3035:707] AddressBookSync (client id: com.apple.AddressBook) error: Exception running AddressBookSync: Timed out waiting for the sync server
AddressBookSync exited with 2
我的应用程序是沙盒的,并且我集成了 iCloud。
我已经搜索但找不到任何有同样问题的人,我试过这个:
使用
[[ABAddressBook] sharedAddressBook]
而不是,[[ABAddressBook] addressBook]
但随后我从 ABPersonView 收到一个错误,说 ABPersonView 不推荐使用 sharedAddressBook。我添加了 SyncServices 框架,没有帮助
该代码确实有效,至少在我的 iCloud 帐户中是这样。有人知道为什么我会收到这些错误吗?值得尝试使用 Xcode 4.3 和 10.8 吗?我目前正在使用 Lion 运行 4.2.1。
谢谢!