Kam*_*eld 7 continuous-integration unit-testing ocunit ios sfhfkeychainutils
我正在使用SFHFKeychainUtils在我的应用程序中使用Keychain服务.我写了一些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
有没有人有任何经验或建议让单元测试和钥匙串服务从命令行很好地一起玩?
我遇到了同样的问题,我的解决方案是在开始任何测试之前确保模拟器正在运行.我是在Xcode的Run Script构建阶段使用AppleScript完成的,在CI服务器上基本上是相同的.这是打开模拟器的shell脚本:
exec osascript <<EOF
tell application "iOS Simulator"
activate
end tell
引起这种情况的安全/钥匙串服务问题显然是一个已知问题,尽管我还没有跟踪它的雷达.如果您正在使用Jenkins,请在Xcode构建阶段之前将上述脚本置于Execute Shell阶段.如果您通过Xcode本身控制它,请在RunUnitTests Run Script构建阶段之前将其置于Run Script构建阶段.希望能解决你的问题!
| 归档时间: |
|
| 查看次数: |
1826 次 |
| 最近记录: |