Mac OS X Shell 学习自动化打包ipa

感谢:http://www.cnblogs.com/ficow/p/6823962.html
我的实践
一、在workspace目录下创建脚本文件和plist文件

image.png

二、脚本 内容我只改了项目名称和schem名称,当然其他比如bulid路径,ipa路径名字,你都可以自行修改


#! /bin/bash
# created by Ficow Shen

#工程绝对路径
project_path=$(pwd)

#工程名
project_name="你的工程名"

#打包模式 Debug/Release
development_mode=Debug

#scheme名
scheme_name="scheme名"

#build文件夹路径
build_path=${project_path}/build

#plist文件所在路径
exportOptionsPlistPath=${project_path}/exportOptions.plist

#导出.ipa文件所在路径
exportFilePath=${project_path}/ipa/${development_mode}


echo '*** 正在 清理工程 ***'
xcodebuild \
clean -configuration ${development_mode} -quiet  || exit 
echo '*** 清理完成 ***'



echo '*** 正在 编译工程 For '${development_mode}
xcodebuild \
archive -workspace ${project_path}/${project_name}.xcworkspace \
-scheme ${scheme_name} \
-configuration ${development_mode} \
-archivePath ${build_path}/${project_name}.xcarchive -quiet  || exit
echo '*** 编译完成 ***'



echo '*** 正在 打包 ***'
xcodebuild -exportArchive -archivePath ${build_path}/${project_name}.xcarchive \
-configuration ${development_mode} \
-exportPath ${exportFilePath} \
-exportOptionsPlist ${exportOptionsPlistPath} \
-quiet || exit

if [ -e $exportFilePath/$scheme_name.ipa ]; then
    echo "*** .ipa文件已导出 ***"
    open $exportFilePath
else
    echo "*** 创建.ipa文件失败 ***"
fi
echo '*** 打包完成 ***'

三、配置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>uploadBitcode</key>
 <string>NO</string>
 <key>uploadSymbols</key>
 <string>NO</string>
 <key>teamID</key>
 <string>S6ZP88XTH7</string>
 <key>method</key>
 <string>development</string>
</dict>
</plist>
image.png

至此,可以快乐自动打包了

可能遇到 的问题

在执行./outputIpa.sh时没有提示,这个得使用chmod命令
http://www.linuxyw.com/linux/wenjianguanli/20130429/148.html
简单粗暴,chmod 777 outputIpa.sh即可,咱也不用考虑什么后台什么服务器,给个最高权限即可。
打包后生成的文件夹,忽略问题,.gitignore文件忽略对应的文件夹即可,改名也得同步这个名字

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

推荐阅读更多精彩内容