我正在用一个ABPerson显示和编辑一个ABPersonView。我是这样做的:
ABPerson *person = (ABPerson *)[_addressBook recordForUniqueId:[curDict valueForKey:@"id"]];
[_personView setPerson:person];
[_personView setEditing:YES];_personView是我的ABPersonView。当我用ABPerson编辑ABPersonView并保存AddressBook时:
[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那里得到了一个错误,表示sharedAddressBook的使用与[[ABAddressBook] sharedAddressBook]添加的SyncServices框架不一致,对没有帮助
不过,这段代码确实有效,至少适用于我的iCloud帐户。有人知道我为什么会犯这些错误吗?是否值得尝试使用Xcode 4.3和10.8?我目前正在使用Lion运行4.2.1。
谢谢!
发布于 2013-01-15 03:07:24
我也见过同样的问题。我相信你在苹果的框架里看到了一个bug。
https://stackoverflow.com/questions/10866228
复制相似问题