1.最近公司搞了一台苹果虚拟机,目的是想让它专门作为打包机器使用。
2.开放MacOS远程SSH 22端口,从其他ssh客户端连接到MacOS SSH。
切换到你的IOS项目路径,执行如下命令:
xcodebuild archive -workspace Runner.xcworkspace -scheme Runner -configuration Release -archivePath build/Runner.xcarchive
其中参数 -workspace 指定的是项目后缀为.xcworkspace文件
参数 -scheme 指定项目名称
参数 -configuration 指定的是Debug或者Release。
参数 -archivePath 保存archive的文件的路径
第一次执行必报错。在MacOS自己的终端是OK的。
错误信息示例:
** ARCHIVE FAILED **
The following build commands failed:
PhaseScriptExecution Thin\ Binary /Users/mac/Library/Developer/Xcode/DerivedData/Runner-ckfhwhkgtdwkzxgsdoslsaisfqbd/Build/Intermediates.noindex/ArchiveIntermediates/Runner/IntermediateBuildFilesPath/Runner.build/Release-iphoneos/Runner.build/Script-3B06AD1E1E4923F5004D2608.sh
(1 failure)
解决方案,执行如下命令:
security unlock-keychain
然后提示输入密码,输入密码,问题解决!
3.上面只是第一步,archive生成好了。接下来最重要的部分,导出ipa文件。
同样是切换到你的IOS项目路径,执行如下命令:
xcodebuild -exportArchive -archivePath build/Runner.xcarchive -exportPath ~/Desktop/Runner/ -exportOptionsPlist ~/Desktop/Runner/ExportOptions.plist
其中参数 -archivePath 指定上面你保存archive的文件路径。
参数 -exportPath 指定你要把ipa文件和其他文件保存在哪个目录
参数 -exportOptionsPlist 这个参数很重要,参数顺序最好按照我这个来,这个plist文件你如果是第一次打包,建议你用XCode先去导出ipa文件,会生成plist文件的。直接用第一次用XCode图形化界面导出的plist文件即可。