Estoy trabajando para actualizar un iPhone application con un pequeño cambio en su configuración predeterminada. Ha pasado un tiempo desde la última vez que lo construí, así que actualicé Xcode a 4.2 e incluí iOS 5 en las últimas compilaciones.iOS Keychain SecItemAdd returns -25243
Cuando voy a probar en el dispositivo, me sale el siguiente error de aserción:
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.'
estoy usando la implementación de la clase KeychainItemWrapper
de Apple de GenericKeychain project. Vale la pena señalar que este error solo aparece en el dispositivo, no en el simulador (y soy consciente de las diferencias de restricción del grupo de acceso entre las plataformas, pero normalmente pensé que eso causaba problemas en el simulador, no en el hardware real).
¿Por qué volvería a recibir este error? No he tocado nada relevante para las partes relacionadas con la llave de la aplicación; almacena y recupera datos exactamente como solía hacerlo.
Te hubiera votado más de una vez si pudiera, esa respuesta fue francamente mágica. Resulta que perdí mi archivo de derechos en algún momento, así que volver a habilitarlos (y jugar con los perfiles de aprovisionamiento por un tiempo) solucionó este problema. ¡Gracias! – Tim