如何从命令行编译 iOS 项目
Posted
技术标签:
【中文标题】如何从命令行编译 iOS 项目【英文标题】:How to compile an iOS project from command line 【发布时间】:2018-05-17 14:38:41 【问题描述】:我想组装/编译一个上面有 cocoapods 但没有的工作区:
存档。 需要设置凭据或 pem 文件。类似:
xcodebuild assemble
我想知道代码是否编译但不生成存档或已部署的工件。
我尝试了fastlane/gym,但它试图创建一个存档。
【问题讨论】:
xcodebuild -schemeExiting early, found no Swift version in executables.
看起来您没有在构建设置中设置语言版本,请尝试在 xcode 中打开项目并检查目标的构建设置。你有机会使用 cocoapods 吗?
对不起,在问题中错过了,您正在使用 cocoapods。尝试您可以在以下页面上找到的解决方法:github.com/CocoaPods/CocoaPods/issues/5521
@Marcel 信息不在问题中,我对其进行了编辑。感谢您的帮助
【参考方案1】:
使用 xcodebuild
您可以使用以下命令编译项目:
xcodebuild <path to project> -scheme <scheme name> build
因为您使用的是 cocoapods,所以您应该使用工作区而不是项目进行编译,如下所示:
xcodebuild -workspace <path to workspace file> -scheme <scheme name> build
如果 swift 版本未在 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
使用快车道
另一种方法是使用来自fastlane 的build_app
,例如:
build_app(scheme: 'YourScheme',
workspace: 'YourProject.xcworkspace',
skip_archive: true,
skip_package_ipa: true,
include_bitcode: false)
我更喜欢这种方式,因为它更简单,并且使用xcpretty 打印输出比xcodebuild
更好。
【讨论】:
以上是关于如何从命令行编译 iOS 项目的主要内容,如果未能解决你的问题,请参考以下文章