Skip to content

Commit 9f65f94

Browse files
committed
update
1 parent 5bc99ad commit 9f65f94

File tree

1 file changed

+102
-1
lines changed

1 file changed

+102
-1
lines changed

docs/zh-cn/ota.md

Lines changed: 102 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<a href="itms-services://?action=download-manifest&url=https://raw.githubusercontent.com/xxx/MyPlists/master/manifest_v3.4.plist"> 安装 </a>
88
```
99
> 借助了苹果的OTA协议(企业签名或者第三方分发都是采用这种方式) `itms-services://?action=download-manifest&url= `
10-
> OTA升级什么意思
10+
> OTA(Over-the-Air Technology)升级什么意思
1111
> OTA升级对于很多手机爱好者朋友来说,都不会陌生,很多安卓手机或者iPhone手机都支持OTA升级,直白的说,OTA升级就是在线升级手机系统的意思
1212
1313
#### 搭建本地webServer
@@ -67,6 +67,7 @@ webServer
6767
```
6868

6969
[Mac OS原来自带了apache,基本用法总结](https://blog.csdn.net/seafishyls/article/details/44546809)
70+
[mac os下的Apache配置 macOS Sierra 10.12](https://www.jianshu.com/p/f56815569234)
7071

7172
#### 准备好ipa包和plist文件
7273
先上图,再解释
@@ -188,5 +189,105 @@ webServer
188189
</plist>
189190

190191
```
192+
* 部署脚本
193+
194+
```shell
195+
#!/bin/bash
196+
echo "================================================================"
197+
echo "请确保app.ipa已在当前目录下"
198+
echo "注意⚠️: 一次只能部署一种环境,请不要放多个ipa到当前目录下"
199+
echo "================================================================"
200+
release_version=`/usr/libexec/PlistBuddy -c 'Print :items:0:metadata:bundle-version' ./manifest.plist`
201+
debug_version=`/usr/libexec/PlistBuddy -c 'Print :items:0:metadata:bundle-version' ./manifest_test.plist`
202+
release_bundleId=`/usr/libexec/PlistBuddy -c 'Print :items:0:metadata:bundle-identifier' ./manifest.plist`
203+
debug_bundleId=`/usr/libexec/PlistBuddy -c 'Print :items:0:metadata:bundle-identifier' ./manifest_test.plist`
204+
205+
if [ ! -f "./app.ipa" ]; then
206+
echo "当前目录下未检测到app.ipa文件"
207+
exit 1
208+
fi
209+
210+
read -p "部署Release环境(y/n): " env
211+
if [[ -n "$env" ]]; then
212+
if [[ "$env"="y" ]]; then
213+
echo "******************************"
214+
echo "已选择Release环境"
215+
echo "当前release版本为: $release_version"
216+
echo "当前release bundleId为: $release_bundleId"
217+
echo "******************************"
218+
else
219+
echo "******************************"
220+
echo "已选择Debug环境"
221+
echo "当前debug版本为: $debug_version"
222+
echo "当前debug bundleId为: $debug_bundleId"
223+
echo "******************************"
224+
fi
225+
else
226+
echo "******************************"
227+
echo "默认为Release环境"
228+
echo "当前release版本为: $release_version"
229+
echo "当前release bundleId为: $release_bundleId"
230+
echo "******************************"
231+
env="y"
232+
fi
233+
234+
read -p "版本号(版本号为必填项): " version
235+
if [[ -n "$version" ]]; then
236+
echo $version
237+
else
238+
if [[ "$env" = "y" ]]; then
239+
version=$release_version
240+
else
241+
version=$debug_version
242+
fi
243+
fi
244+
245+
read -p "应用的BundleId(不填写则默认不修改): " bundleId
246+
if [[ -n "$bundleId" ]]; then
247+
echo "${bundleId}"
248+
else
249+
if [[ "$env" = "y" ]]; then
250+
bundleId=$release_bundleId
251+
else
252+
bundleId=$debug_bundleId
253+
fi
254+
fi
255+
256+
read -p "部署版本描述信息(需要加双引号字符串格式): " commit_message
257+
if [[ -n "$commit_message" ]]; then
258+
echo "$commit_message"
259+
else
260+
commit_message="🚀update~"
261+
fi
262+
263+
264+
if [[ "$env" = "y" ]]; then
265+
/usr/libexec/PlistBuddy -c 'Set :items:0:metadata:bundle-version string $version' ./manifest.plist
266+
/usr/libexec/PlistBuddy -c 'Set :items:0:metadata:bundle-identifier string $bundleId' ./manifest.plist
267+
sudo cp -f ./*ipa /Library/WebServer/Documents/app/ipa/release/app.ipa
268+
else
269+
/usr/libexec/PlistBuddy -c 'Set :items:0:metadata:bundle-version string $version' ./manifest_test.plist
270+
/usr/libexec/PlistBuddy -c 'Set :items:0:metadata:bundle-identifier string $bundleId' ./manifest_test.plist
271+
sudo cp -f ./*ipa /Library/WebServer/Documents/app/ipa/debug/app.ipa
272+
fi
273+
274+
echo "🎉🎉🎉 部署成功!!!"
275+
echo "确保手机连上ZQun-5G的WiFi"
276+
echo "手机Safari浏览器打开 http://192.168.1.166/app/index.html 即可食用~"
277+
278+
open /Library/WebServer/Documents/app/ipa
279+
280+
rm -rf *.ipa #移除记录
281+
282+
echo "🚀🚀🚀提交代码"
283+
284+
git add .
285+
git commit -am "$commit_message"
286+
git push origin master
287+
288+
```
289+
290+
291+
[plist和部署脚本托管在github仓库](https://github.com/YGC-byte/MyPlists.git)
191292

192293
以上~

0 commit comments

Comments
 (0)