【发布时间】:2012-04-03 15:32:19
【问题描述】:
我正在使用 SFHFKeychainUtils 在我的应用程序中使用钥匙串服务。我编写了一些 OCUnit 测试来验证这段代码的功能。当我在 iOS 模拟器或我的设备上从 Xcode 运行单元测试时,一切正常。但是现在我正在尝试设置一个 CI 服务器,并且当它通过命令行运行时测试失败,错误代码为 -25291。查看 Apple 的文档告诉我:没有可用的信任结果 (errSecNotAvailable)。我已将 Security.framework 链接到我的单元测试项目,从我在网上阅读的内容看来,这就是我需要让它工作的全部内容。这是我在控制台中调用的命令:
/usr/bin/xcodebuild -target [Test_Target] -sdk /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.1.sdk/ -configuration Debug
有没有人有任何经验或建议让单元测试和钥匙串服务从命令行很好地结合在一起?
【问题讨论】:
-
您是在无头模式下运行 CI 服务器,还是有活动的用户会话?
-
我有一个活跃的用户会话。
-
很奇怪,您能否确认您可以访问钥匙串,即它没有密码保护?
-
我们在 Jenkins CI 上有一个间歇性的问题。你有进步吗?
-
抱歉,我花了这么长时间才回复你们。 @Stuart Ervine - 是的,确认钥匙串访问。最后,我发现的唯一解决方案是让模拟器像 quellish 建议的那样运行。唯一的问题是它看起来有点像 hack,而且不像 imo 那样可靠。
标签: ios unit-testing continuous-integration ocunit sfhfkeychainutils