自动构建打包命令(两种方法)
1.archive文件-》ipa文件(xcodebuild) - ok
1.1 生成archive文件(cd到项目目录下)
xcodebuild archive -workspace XXX.xcworkspace -scheme XXX -configuration Release -archivePath /Users/syb/Desktop/caowei/xxxx -sdk iphoneos
命令 说明
-archivePath PATH 保存生成.xcarchive包路径(xxxx即为最后产生的xxxx.xcarchive文件!!!!!)
-workspace NAME 指定工作空间文件XXX.xcworkspace
-scheme NAME 指定构建工程名称(可以用xcodebuild -list命令查看)
-configuration [Debug/Release] 选择Debug或者Release构建
-sdk NAME 指定编译时使用的SDK
1.2 生成ipa文件
xcodebuild -exportArchive -exportOptionsPlist /Users/syb/Desktop/caowei/ExportOptions.plist -archivePath /Users/syb/Desktop/caowei/xxx.xcarchive -exportPath /Users/syb/Desktop/caowei/xxx
命令 说明-archivePath 选择要导出的.xcarchive包路径
-exportPath 导出ipa保存目录(注意是保存目录!!!!到目录就好!!!)
-exportOptionsPlist 导出过程中需要的配置文件路径(可以之前xcode打包生成中拷贝一份出来!!!!)
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>compileBitcode</key>
<false/>
<key>method</key>//导出ipa包类型:app-store,ad-hoc,package,enterprise,development,developer-id
<string>enterprise</string>
<key>provisioningProfiles</key>
<dict>
<key>xxxxx</key>
<string>xxxxx</string>
</dict>
<key>signingCertificate</key>
<string>iPhone Distribution</string>
<key>signingStyle</key>
<string>manual</string>
<key>stripSwiftSymbols</key>
<true/>
<key>teamID</key>//选择相对应证书ID
<string>xxxxxx</string>
<key>thinning</key>
<string><none></string>
</dict>
</plist>
ps:
如何获取工程的CODE_SIGN_IDENTITY和PROVISIONING_PROFILE
右键 xxx.xcodeproj 显示包内容 然后打开project.pbxproj文件
command F 搜索 CODE_SIGN_IDENTITY PROVISIONING_PROFILE
2.app文件-》ipa文件(xcodebuild+xcrun) - no
2.1 生成app文件(生成的app文件就是在build中没有后缀的那个文件!!!)
xcodebuild -workspace xxx.xcworkspace -scheme xxx -sdk iphoneos -configuration Release -derivedDataPath build
2.2 生成ipa文件
xcrun -sdk iphoneos PackageApplication -v /Users/syb/read/build/Build/Products/Release-iphoneos/xxx.app -o /Users/syb/read/build/Build/Products/Release-iphoneos/ReadingSail.ipa
xcode8以上没有packageApplication,要从老版本的xcode中拷贝,没有试验下去!!!
用curl命令将包上传
curl -F "appCode=xxx&userType=xxx&show=true&outside=false&filePath=E:\\test.ap" -F "file=@/Users/syb/Desktop/xxx.ipa" http://admin.xxx.com/Help/releaseApp
备注:-F -F表示Content-Type = application/form-data 后面-F表示要上传文件的包名,要@开头