最近学习了一下shell脚本,对unix很多命令更熟悉了,也学到了很多新命令
简单使用xcodebuild来写了一个打包的脚本,流程是打包,导出ipa,上传到蒲公英 / bugly之类的测试网站,通知 slack
archive
打包,和导出ipa都是使用这个命令,可以使用man xcodebuild
来查看详细用法
其中打包使用的是archive
这个命令,一般archive
完导出一个.xcarchive
类型的文件,这需要我们指定路径
你打包的项目是project还是workspace也要指定,使用-project <projectName>
或者-workspace <workspaceName>
还有一个就是要指定scheme,使用-scheme -scheme test\ dev
这里要小吐槽一下,不建议scheme取有空格名字,可能会有各种转义问题
所以打包命令就是这样,其他选项默认即可
1 | xcodebuild archive -archivePath ~/Desktop/tmp.xcarchive -workspace test.xcworkspace -scheme test\ dev |
export
打完包则要导出ipa文件,也是使用xcodebuild
,使用的命令是-exportArchive
要指定打包的路径,即刚才打包出来的 *.xcarchive
文件,使用-archivePath ~/Desktop/tmp.xcarchive
然后就是导出ipa文件的路径
1 | -exportPath ~/Desktop/ |
最后就是要指定一些选项,
1 | ``` |
xcodebuild -showBuildSettings -workspace test.xcworkspace -scheme testScheme |grep DEVELOPMENT_TEAM1
2
3
4
5
6
7
8
9
10
11
12
13
14使用这个命令可以查看到,也可以上开发者官网上查看
指定的plist文件就是这样
```xml
<?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>teamID</key>
<string>${teamID}</string>
<key>method</key>
<string>${method}</string>
</dict>
</plist>
上传
这里我上传的是蒲公英,使用bugly也是差不多的
使用的是curl命令ipaPath即指定你的ipa的路径,然后添加你的user key和api key就行了
1 | curl -F "file=@$ipaPath" -F "uKey=<your user key>" -F "_api_key=<your api key>" https://qiniu-storage.pgyer.com/apiv1/app/upload |
通知slack
我使用的也是curl命令,最近经常用这个命令,感觉很好用
1 | curl -X POST --data-urlencode 'payload={"channel": "@ascen", "username": "iOS", "text": "archive '${scheme}' <https://www.pgyer.com/****|你想写的链接文字>.", "icon_emoji": ":ghost:"}' https://hooks.slack.com/services/T2A8E9XSP/B50F24ZRS/**你的url** |
所以选择shell script是这样的
1 | !/bin/sh |