【问题标题】:Running ios-sim with Jenkins使用 Jenkins 运行 ios-sim
【发布时间】:2012-11-11 04:42:01
【问题描述】:

我正在尝试使用 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 权限,但仍然没有。

有什么想法吗?

【问题讨论】:

标签: shell permissions jenkins


【解决方案1】:

这可能与没有“显示”的 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 始终以登录用户身份运行

【讨论】:

  • 为了让它与 Xcode 6.1.1 和 Yosemite 一起工作,我删除了 GroupNameSessionCreate 键。此外,我确保 jenkins 是该文件的所有者,以确保这一点。
  • 有没有办法让通过 ssh 启动的从站工作?
【解决方案2】:

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

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

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

向下滚动旁边有 13 票赞成的答案,而不是选中标记的答案。

希望这对将来的某人有所帮助..

【讨论】:

    【解决方案3】:

    看起来唯一的解决方法是以超级用户身份运行命令:

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

    【讨论】:

      【解决方案4】:

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

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

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

      希望它也对你有用。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-08-24
        • 2018-02-15
        • 1970-01-01
        • 1970-01-01
        • 2012-05-12
        • 1970-01-01
        • 2020-07-26
        • 2013-04-04
        相关资源
        最近更新 更多