我正在开发一个在密钥链中存储密码的应用。当我使用开发配置文件从Xcode运行应用程序时,一切正常。我可以保存密码,退出应用程序,重新启动并从钥匙串中获取密码。
但是,每当我使用Ad Hoc或App Store配置文件运行应用程序时,当我尝试在重新启动应用程序后从钥匙串中获取密码时,SecItemCopyMatching总会返回errSecItemNotFound。
我是否遗漏了应用ID,配置文件或权利?
答案 0 :(得分:0)
原来我被启用基础断言构建设置所困扰。对于发布版本,默认情况下似乎设置为 No 。
我在Apple Docs中使用来自Keychain Services Tasks for iOS的代码,其中包含许多包含在NSAssert()中的密钥链调用(包括SecItemAdd),因此它们没有被调用,也没有任何东西被保存到钥匙串中。