Я работаю над обновлением приложения для iPhone с незначительным изменить его конфигурацию по умолчанию. Однако прошло некоторое время с тех пор, как я построил его в последний раз, поэтому я обновил Xcode до 4.2 и включил поддержку iOS 5 в последние сборки.
Когда я иду на тестирование на устройстве, я получаю следующую ошибку утверждения:
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.'
Я использую реализацию класса KeychainItemWrapper
из проекта Apple GenericKeychain . Стоит отметить, что эта ошибка появляется только на устройстве, а не в симуляторе (и я знаю о различиях в ограничениях групп доступа между платформами, но обычно я думал, что это вызывает проблемы на симуляторе, а не на реальном оборудовании).
Почему я должен возвращать эту ошибку? Я не коснулся ничего, относящегося к частям приложения, связанным с связкой ключей; он хранит и извлекает данные точно так же, как и раньше.