如何为工作区设置Jenkins Xcode插件?

时间:2019-01-16 19:30:24

标签: ios xcode jenkins

我对iOS应用程序开发空间很满意。我需要在Jenkins中为我构建的新Swift应用程序设置构建。作为其中的一部分,我使用Cocoapods来管理依赖项,这又意味着我现在有了一个工作区,而不是一个简单的项目。

我现在正在尝试将此应用程序构建为管道的一部分,并遇到了以下错误:

FATAL: Since there are multiple projects in the workspace, you must be specify the location of the target project as Xcode Project File.
Build step 'Xcode' marked build as failure
Finished: FAILURE

我的项目的根目录如下:

$ ls -la
total 32
drwxr-xr-x  14 mcbint  staff  448 15 Jan 15:16 .
drwxr-xr-x   3 mcbint  staff   96 15 Jan 14:33 ..
drwxr-xr-x  13 mcbint  staff  416 16 Jan 11:11 .git
-rw-r--r--   1 mcbint  staff  108 15 Jan 14:56 .gitignore
-rw-r--r--   1 mcbint  staff  501 15 Jan 14:56 Podfile
-rw-r--r--   1 mcbint  staff  379 15 Jan 14:56 Podfile.lock
drwxr-xr-x   9 mcbint  staff  288 15 Jan 15:16 Pods
-rw-r--r--   1 mcbint  staff  666 15 Jan 14:56 README.md
drwxr-xr-x  10 mcbint  staff  320 15 Jan 14:56 mcb-phoneagent-ios
drwxr-xr-x   5 mcbint  staff  160 15 Jan 15:16 mcb-phoneagent-ios.xcodeproj
drwxr-xr-x   4 mcbint  staff  128 15 Jan 14:56 mcb-phoneagent-ios.xcworkspace
drwxr-xr-x   4 mcbint  staff  128 15 Jan 14:56 mcb-phoneagent-iosTests
drwxr-xr-x   4 mcbint  staff  128 15 Jan 14:56 mcb-phoneagent-iosUITests
drwxr-xr-x   2 mcbint  staff   64 15 Jan 15:07 test-reports

我已经在xcode中设置了项目,如下所示: jenkins ios workspace config

在开发机器上,我可以使用以下命令成功构建应用程序:

xcodebuild -workspace mcb-phoneagent-ios.xcworkspace -scheme mcb-phoneagent-ios

有人看到我设置不正确的东西吗?

2 个答案:

答案 0 :(得分:0)

由于使用了Cocopod,因此需要使用* .xcworkspace文件,而不是* .workspace,

从个人经验来看,使用jenkins存档和使用* .app文件要容易得多,而不是让它为您构建项目

答案 1 :(得分:0)

这是我遇到此问题时解决的方法:

  1. 确保已将方案容器设置为工作空间(不是项目)。可以在“产品”->“方案”->“管理方案”中的Xcode中进行检查,然后查看标题为“容器”的列) / p>

  2. 确认xcshareddata在Jenkins使用的工作空间目录中。

  3. 在Jenkins中,在Xcode的常规构建设置下,有一个“设置”按钮settings button

单击它并找到Xcode模式文件文本框。schema text box

在该框中输入您要用于给定工作空间的xcsheme文件的名称,该文件已作为Xcode工作空间文件输入(在您的情况下,我猜它应该是mcb-phoneagent-ios)。