Xcode升级8.3后xcodebuild打包脚本报错及解决方法记录

问题描述:

Xcode升级8.3后原本打包、导出、上传都没有问题的脚本总是能够正常打包,但是导出时总是报错。查看报错信息为:


图 1. 导出错误报错信息

问题分析:

找到打包脚本中导出的指令为:


图 2. 原打包脚本中的导出指令

在终端输入man xcodebuild后,查找exportFormat,没有找到相应参数,看来是不支持这个参数了。
查找exportArchive参数得到如下说明:


图 3. 关于exportArchive参数的说明

这样问题就很清楚了,按照手册中的格式修改脚本中的导出指令就可以了。
参数都很好理解,其中archivePath参数后跟的是打包生成的.xarchive文件的路径,exportPath参数后跟的是导出的.ipa文件的路径,exportOptionPlist后跟的是导出时的选项信息plist文件。

而这个包含选项信息的plist文件常用的key有如下两个:

method : String
Describes how Xcode shouldexportthe archive. Available options: app-store, ad-hoc, package, enterprise, development, and developer-id. The list of options varies based on thetypeof archive. Defaults to development.
teamID : String
The Developer Portal team to useforthis export. Defaults to the team used to build the archive.

这两个参数指定了在导出ipa包时的包类型和所使用的证书,其实是与手动archive并导出包时的如下两步操作对应:
其中method参数对应的是如下操作:

图 4. 手动打包时指定的包类型

teamID的指定对应于如下操作:


图 5. 手动打包时证书的选取

如下是我们项目中用到的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>method</key>
    <string>enterprise</string>
    <key>teamID</key>
    <string>YourTeamIDHere</string>
</dict>
</plist>

其中method和teamID对应的value可以根据实际情况进行修改。
要保证teamID一定是正确的,否则一般会报如下错误:

xcodebuild[2019:1955788] [MT] IDEDistribution: -[IDEDistributionProvisioning _itemToSigningInfoMap:]: Can't find any applicable signing identities for items:

参考文献:
http://fight4j.github.io/2016/11/21/xcodebuild/

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 本文始发于我的博文详解Shell脚本实现iOS自动化编译打包提交,现转发至此。 目录 前言 Shell脚本涉及的工...
    zackzheng阅读 44,617评论 95 173
  • 做iOS开发时间久了,打包APP一定是比较频繁的事情,每次都需要各种点点点。。。要是能简单执行一个脚本就生成ipa...
    程序H阅读 3,654评论 7 15
  • 前言 众所周知,现在App的竞争已经到了用户体验为王,质量为上的白热化阶段。用户们都是很挑剔的。如果一个公司的推广...
    偏偏就是祢阅读 9,096评论 34 59
  • 前言 众所周知,现在App的竞争已经到了用户体验为王,质量为上的白热化阶段。用户们都是很挑剔的。如果一个公司的推广...
    闲云清烟阅读 2,544评论 1 4
  • 年初在心里给自己定下一个目标:每天写点啥。。。当时也知道坚持不下来。。。到今天看看,也确实没有坚持,有时候是忘记,...
    鼠婆阅读 571评论 0 50