xcode脚本打包学习

xcodebuild�

先使用-project,一直报错 ld: warning: directory not found for option '-L

xcodebuild -project test.xcodeproj -target test -configuration Release```

报错显示都是cocoapods相关的library,试了几次重新update依然报错。于是尝试搜索xcodebuild cocopods,查得正确命令:

xcodebuild -workspace test.xcworkspace -configuration Release -scheme "test" SYMROOT=$(PWD)/build ```

生成正确的build目录。

xcoderun

xcrun -sdk iphoneos -v PackageApplication ./build/Release-iphoneos/test.app -o ~/Desktop/test.ipa```
开始就成功打出ipa包,但是上传到fir后,解析失败。最后查到问题出在scheme里指定生成的app包名字变了,需要替换为Release-iphoneos里的真正名称。

#xcodebuild archive
http://www.jianshu.com/p/bd4c22952e01 中写的非常详细,按照说明来做就可以。

xcodebuild archive -workspace "$workspaceName" -scheme "$scheme" -configuration "$configuration" -archivePath "$archivePath" CONFIGURATION_BUILD_DIR="$configurationBuildDir" CODE_SIGN_IDENTITY="$codeSignIdentity" PROVISIONING_PROFILE="$enterpriseProvisioningProfile"```

xcodebuild -exportArchive -archivePath $archivePath -exportOptionsPlist "$exportOptionsPlist" -exportPath $ipaPath```

注意文件路径一定是绝对路径。
测试时上传的是enterprise包,因此plist中method值修改为enterprise。
上传到fir后显示为企业版,可以正常使用。

---
xcode8使用脚本打包指定CODE_SIGN_IDENTITY、PROVISIONING_PROFILE时,需要关闭自动签名,否则会造成签名冲突,build或者archive失败。
使用自动签名时,需要配置好正确的证书,否则上传到fir显示为内测版。

参考:
http://www.jianshu.com/p/3f43370437d2
http://www.jianshu.com/p/bd4c22952e01
http://www.jianshu.com/p/c7ee6a381e44

你可能感兴趣的:(xcode脚本打包学习)