实现Xcode 9自动化打包

作者: 3697d6c42285 | 来源:发表于2017-11-30 17:52 被阅读1400次

自动化打包脚本

#!/bin/sh

#需要接受3个参数 1、scheme名 2、工程目录 3、工程名字

#project目录
PROJECT_PATH=$1
#project名称
PROJECT_NAME=$2
#scheme名称
SCHEME_NAME=$3
#现在时间(做文件夹名称使用)
DATE=`date +%Y%m%d%H%M`
#归档文件地址
ARCHIVE_PATH=$PROJECT_PATH/$DATE/$SCHEME_NAME

#通过archive归档出对应的xcarchive文件
#对应步骤:
#1、清理工程
#2、归档工程
#3、工程名称
#4、设置工程Scheme
#5、设置Debug或者Release模式
#6、归档输出地址
#7、特殊设置,可忽略,为了让过程更清晰
xcodebuild clean \
archive \
-project "$PROJECT_PATH/$PROJECT_NAME" \
-scheme "$SCHEME_NAME" \
-configuration "Release" \
-archivePath "$ARCHIVE_PATH" \
| xcpretty

echo "--------------------------------------"

#通过归档文件打包出对应的ipa文件
#对应步骤:
#1、打包命令
#2、归档文件地址
#3、ipa输出地址
#4、ipa打包设置文件地址
xcodebuild -exportArchive \
-archivePath "$ARCHIVE_PATH.xcarchive" \
-exportPath "$PROJECT_PATH/$DATE" \
-exportOptionsPlist "$PROJECT_PATH/ExportOptions.plist"

open $PROJECT_PATH

前排提示:需要确保工程在没使用脚本的情况下也可以成功的进行归档与打包,脚本只是为了简化过程


遇到过的问题

  1. xcodebuild: error: The flag -scheme is required when specifying -archivePath but not -exportArchive.
    问题在于当你设置了 archivePath 的时候,必须要设置对应的是哪一个 scheme 。否则的话,命令不知道是对哪个 scheme 进行归档操作,无法继续进行
  2. This project contains no schemes.
    通过命令xcodebuild -list查找工程中包含有哪些 scheme 的时候,提示该工程没有 scheme。
    解决方法:
    1、打开管理 scheme 界面
    进入管理 scheme
    2、打开对应的 Shared 开关
    scheme 管理界面
    3.exportOptionsPlist 内容
    如果不确定exportOptionsPlist中的内容有哪些,那么可以通过 Xcode 打包来获取对应的.plist的内容,再作删减等处理。
    1、Export 对应的Archive

    2、选择 Development (其他的暂时没试过)
    打包界面
    3、 然后选择对应的配置,一直 next 直到打包出来就好
    4、打包出来之后,在文件夹中会有多个文件,ExportOptions.plist即为所需的.plist文件

相关文章

网友评论

  • 贪嗔痴_6a76:请问这边脚本打出来的包是dis包还是dev包
    贪嗔痴_6a76:@VirusKnight 我的目的是想同一个工程配置不同的证书,打几个包。
    贪嗔痴_6a76:@VirusKnight 请问一下知道怎么配置证书吗?我在网上找了一些,都是报错的
    3697d6c42285:具体的包的配置ExportOptions.plist中进行配置
    包括用什么证书,dis包还是dev包,是否有bitcode等
  • 上吊的豆腐:xcodebuild: error: '/Users/xijuanpu/Desktop/WoAssistantProject_T_zddb/WoAssistantProject.xcworkspace' is not a project file. 报这个错是因为什么原因?
    3697d6c42285:@上吊的豆腐 使用的不是.xcworkspace文件,而应该是工程对应的 .xcodeproj 文件

本文标题:实现Xcode 9自动化打包

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