如何从命令行编译iOS项目

时间:2018-05-17 14:38:41

标签: ios xcode cocoapods fastlane fastlane-gym

我想汇编/编译一个带有cocoapods的工作区,但没有:

  • 归档。
  • 需要设置凭据或pem文件。

像: xcodebuild assemble

我想知道代码是否编译但不生成存档或已部署的工件。

我尝试了fastlane/gym,但它尝试创建档案。

1 个答案:

答案 0 :(得分:5)

使用xcodebuild

您可以使用以下命令编译项目:

xcodebuild <path to project> -scheme <scheme name> build

因为您正在使用cocoapods,所以您应该使用工作区而不是项目进行编译,如下所示:

xcodebuild -workspace <path to workspace file> -scheme <scheme name> build

如果未在cocoapods目标中设置swift版本,则可以通过在Podfile中添加以下内容来解决此问题:

post_install do |installer|
  installer.pods_project.targets.each do |target|
    target.build_configurations.each do |config|
      config.build_settings['SWIFT_VERSION'] = '4.1'
   end
  end
end

使用fastlane

另一种方法是使用fastlane中的build_app,例如:

build_app(scheme: 'YourScheme',
          workspace: 'YourProject.xcworkspace',
          skip_archive: true,
          skip_package_ipa: true,
          include_bitcode: false)

我更喜欢这种方式,因为它更简单,并使用xcpretty打印输出比xcodebuild更好。