用Jenkins运行ios-sim

时间:2012-11-22 18:47:46

标签: shell permissions jenkins

我正在尝试使用ios-sim从命令行启动我的应用,但这就是我得到的:

Started by user User
Building in workspace /Users/Shared/Jenkins/Home/jobs/UI Testing/workspace
[workspace] $ /bin/sh -xe /var/folders/h4/ws64t3bx2nnds4pg3345xrr000009c/T/hudson6341279754557259451.sh
+ /Users/myUser/Desktop/ios-sim launch /Users/Shared/Jenkins/Home/jobs/Project_Monkey_Build/workspace/build/Debug-iphonesimulator/ProjectMonkey.app

    [DEBUG] Could not start simulator session: Error Domain=DTiPhoneSimulatorErrorDomain Code=5
 "Operation failed with underlying error 4294956486." UserInfo=0x1001b1760 
{NSLocalizedDescription=Operation failed with underlying error 4294956486., 
NSUnderlyingError=0x1001a3390 "The operation couldn’t be completed. (OSStatus error -10810.)"}

它看起来像一个权限问题,因为我可以从终端运行相同的命令,它工作正常。我还试图给ios-sim和MonkeyTalk目录提供完整的777权限,但仍然没有。

有什么想法吗?

4 个答案:

答案 0 :(得分:5)

它可能与Jenkins进程没有“显示”有关。尝试以登录桌面的用户身份运行Jenkins,然后再次运行ios-sim。

从launchd:

卸载Jenkins
sudo launchctl unload /Library/LaunchDaemons/org.jenkins-ci.plist

然后从终端运行Jenkins:

sudo su jenkins -c "JENKINS_HOME=/Users/Shared/Jenkins/Home /Library/Application\ Support/Jenkins/jenkins-runner.sh"

如果这样做,您可以通过将launchd作业配置文件从/Library/LaunchDaemons/org.jenkins-ci.plist移动到~/Library/LaunchAgents/org.jenkins-ci.plist

,使Jenkins始终以登录用户身份运行

答案 1 :(得分:1)

我知道这篇文章是从前一段时间开始的,并且不确定是否有人正在检查它,但我最近也遇到了这个问题,结果发现在iphone模拟器中已经有一个重复的应用程序创建了一个问题而不是让新应用程序运行。

我重置了模拟器然后工作了。然后我在运行ios-sim之前添加了applescript以重置模拟器。这个脚本可以在这里找到......

How can I reset the iOS Simulator from the command line?

向下滚动在其旁边有13张投票的答案,而不是选中已标记的答案。

希望这可以帮助将来的某个人......

答案 2 :(得分:0)

它似乎是以超级用户身份运行命令的唯一解决方法:

sudo /Users/myUser/Desktop/ios-sim launch /Users/Shared/Jenkins/Home/jobs/Project_Monkey_Build/workspace/build/Debug-iphonesimulator/ProjectMonkey.app

答案 3 :(得分:0)

我也遇到了同样的问题,发现jenkins用户没有正确设置在模拟器上运行测试用例。按照以下网站上的说明进行操作:

http://pivotallabs.com/ios-ci-jenkins/

请参阅“设置JENKINS用户”部分。

希望它也适合你。