美文网首页
在Xcode 9下使用xcodebuild编译项目

在Xcode 9下使用xcodebuild编译项目

作者: 多来猫 | 来源:发表于2017-12-12 16:54 被阅读0次

公司项目都是使用jenkins编译打包,再分发到服务器供测试人员下载测试。
在用Xcode 7的时候直接将企业签名文件设置到xcodebuild命令里,xcode 8的时候新增了exportOptionsPlist,到xcode 9的时候变成了必须使用exportOptionsPlist
shell脚本变更为

#更新git的submodule
git submodule init 
git submodule update

#进入项目目录
cd MyWorkspace/

#清理上次打包产生的文件
rm -rf "./JenkinsArchive"
mkdir "JenkinsArchive"
rm -rf "./JenkinsIPAExport"
mkdir "JenkinsIPAExport"

#做clean,保证全新的编译
xcodebuild -workspace MyWorkspace.xcworkspace \
-scheme MyWorkspace \
-configuration Debug \
clean

#编译,需要项目支持Auto manage signing
xcodebuild -workspace MyWorkspace.xcworkspace \
-scheme MyWorkspace \ 
-configuration Debug \
archive \
-archivePath ./JenkinsArchive/MyWorkspace.xcarchive

#导出ipa
xcodebuild -exportArchive \
-archivePath ./JenkinsArchive/MyWorkspace.xcarchive \
-exportPath ./JenkinsIPAExport/project.ipa \
-exportOptionsPlist ./MyWorkspace/ExportOptions.plist

#存档
zip -r ./JenkinsArchive/MyWorkspace_dSYM.zip ./JenkinsArchive/MyWorkspace.xcarchive/dSYMs/MyWorkspace.app.dSYM/

#上传,因为分发渠道不同,此处省略,我是使用了蒲公英的分发渠道

这里重点说一下ExportOptions.plist的格式,我的大概如下,需要替换provisioningProfiles下面的签名provision profile name,还有teamID

<?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>
    <string>enterprise</string>
    <key>provisioningProfiles</key>
    <dict>
        <key>com.my.project</key>
        <string>provision profile name</string>
    </dict>
    <key>signingCertificate</key>
    <string>iPhone Distribution</string>
    <key>signingStyle</key>
    <string>manual</string>
    <key>stripSwiftSymbols</key>
    <true/>
    <key>teamID</key>
    <string>team id</string>
    <key>thinning</key>
    <string>&lt;none&gt;</string>
</dict>
</plist>

有一个简单的方法可以获取到ExportOptions.plist,使用Xcode 9做一次archive,在archive结束后依次选择Export->Enterprise(或者你自己的签名方式),按提示导出,最后在导出的文件夹中有一个ExportOptions.plist文件,直接使用即可。

相关文章

网友评论

      本文标题:在Xcode 9下使用xcodebuild编译项目

      本文链接:https://www.haomeiwen.com/subject/rhrnixtx.html