私は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.'
私はAppleのGenericKeychain projectからKeychainItemWrapper
クラスの実装を使用しています。このエラーは、シミュレータではなく、デバイス上にしか現れないことに注意する必要があります(そして、プラットフォーム間のアクセスグループの制限の違いを認識していますが、通常、実際のハードウェアではなくシミュレータ上で問題を引き起こしたと思います)。
なぜこのエラーが戻ってきますか?私はアプリのキーチェーン関連の部分には何も触れていません。以前と同じようにデータを格納し、取得します。
もし私ができれば、私はあなたを何度もupvoteしていました - その答えは完全に魔法のようでした。私は、途中で資格ファイルを失ってしまったので、それらを再度有効にして(しばらくの間プロビジョニング・プロファイルで遊んで)、この問題が修正されました。ありがとう! – Tim