| 导语 前几天升级到了XCode9,发现命令行打包失败了,按照提示解决了,总结备忘一下。
先来个传送门,这里是XCode8的打包总结:XCode命令行打包 -- XCode8.3.x。
升级XCode9后,发现之前的总结不好使了。原因是因为在XCode9中,在exportArchive时指定的exportOptionsPlist中,必须指定provisioningProfiles属性.
即XCode9的xxName.plist要写成这样:
<?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>provisioningProfiles</key>
<dict>
<key>com.xxx.xxx</key>
<string>011d8ec1-xxxxxxx-30a293043028</string>
<key>com.xxx.xxx.dailybuild</key>
<string>011d8ec1-xxxxxxxx-30a293043028</string>
<key>com.xxx.xxx.notificationservice</key>
<string>011d8ec1-xxxxxxxxx-30a293043028</string>
</dict> <key>teamID</key>
<string>xxxxxx</string>
<key>method</key>
<string>development</string>
<key>uploadSymbols</key>
<false/>
<key>uploadBitcode</key>
<false/>
<key>compileBitcode</key>
<false/>
</dict>
</plist>
provisioningProfiles中的key是需要签名的bundleID,value是用来签名的provision profile的uuid。
恩,就这样。需要完整命令行打包流程的,可以先通过传送门看XCode8上的打包,然后结合这个,XCode9的打包就ok啦。