如何从命令行编译iOS项目

Dan*_*ico 1 xcode ios cocoapods fastlane fastlane-gym

我想组装/编译一个带有cocoapods的工作空间,但没有:

  • 存档。
  • 需要设置凭据或Pem文件。

就像是: xcodebuild assemble

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

我尝试了fastlane / gym,但是它尝试创建一个存档。

Mar*_*cel 5

使用xcodebuild

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

xcodebuild <path to project> -scheme <scheme name> build
Run Code Online (Sandbox Code Playgroud)

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

xcodebuild -workspace <path to workspace file> -scheme <scheme name> build
Run Code Online (Sandbox Code Playgroud)

如果未在cocoapods目标中设置快速版本,则可以通过将以下内容添加到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
Run Code Online (Sandbox Code Playgroud)

使用快速通道

另一种方法是使用build_appFASTLANE,如:

build_app(scheme: 'YourScheme',
          workspace: 'YourProject.xcworkspace',
          skip_archive: true,
          skip_package_ipa: true,
          include_bitcode: false)
Run Code Online (Sandbox Code Playgroud)

我更喜欢这种方式,因为它使其更简单并使用xcpretty,其输出结果将比更好xcodebuild