我正在更新iPhone application,并对其默认配置稍作更改。不过,自从我创建它以来,已经有一段时间了,所以我已经将Xcode升级到了4.2,并且在最新版本中包含了iOS 5支持。iOS Keychain SecItemAdd返回-25243
当我去测试设备上,我得到以下断言错误:
2011-11-02 20:57:18.869 RoseBandwidth[903:707] Tried to add item, got result: -25243
2011-11-02 20:57:18.870 RoseBandwidth[903:707] *** Assertion failure in -[KeychainItemWrapper writeToKeychain], /Users/tim/code/RoseBandwidth/Classes/KeychainItemWrapper.m:312
2011-11-02 20:57:18.872 RoseBandwidth[903:707] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Couldn't add the Keychain Item.'
我使用的是苹果的GenericKeychain project的KeychainItemWrapper
类的实现。值得注意的是,这个错误只出现在设备上,而不是在模拟器中(我意识到平台之间的访问组限制差异,但通常我认为在模拟器上导致了问题,而不是实际的硬件)。
为什么我会收到此错误?我没有触及任何与应用程序中与钥匙链相关的部分;它存储和检索数据就像以前一样。
如果可以的话,我会多次提醒你 - 这个回答完全是神奇的。事实证明,我在途中丢失了我的权利文件,因此重新启用它们(并在一段时间内使用配置文件)解决了此问题。谢谢! – Tim