如何无线安装 ipa
如何无线安装 ipa
目标 & 背景
项目在测试 iOS 包时,通常安装都需要借助 iTunes, 或者使用 ideviceinstaller 命令行工具进行安装
ideviceinstaller -i xxx.ipa
但是在实际开发过程中,总是会来问,iOS 怎么测试,如何安装,一次两次还行,被问的次数多了难免会不耐烦,在很久以前在 蒲公英 上看到过可以直接在浏览器下载安装 ipa,而他们使用的则是苹果的 in-house 功能
必要条件
- ipa 的下载链接必须是 https,否则无法完成安装,iOS 设备安装失败也不会有任何细节提示
- ssl 支持的协议最好参考下方的配置,1~1.2 都设置上
这里的 ssl 证书,推荐使用正规 CA 签发的证书,减少不必要的麻烦,苹果在信任自签证书上故意做的非常恶心
nginx 配置
下方配置是在 nginx 默认配置下,增加了 ssl 证书和文件服务器相关的配置
user root owner;
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 443 ssl;
server_name xxx.com; # 域名
ssl_certificate xxx/cert.crt; # 证书
ssl_certificate_key xxx/key.key; # 秘钥
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
location / {
root /xxx; # 文件路径
index index.html index.htm;
autoindex on;
}
}
}
index.html
在 nginx 上创建 index.html 文件,填入你的域名,后面的 manifest.plist 是接下来要配置的文件
<a href="itms-services://?action=download-manifest&url=https://xxx.com/manifest.plist">Install App</a>
终端用户只需要点击 Install App 就可以完成应用安装了
manifest.plist
这里需要填入如下内容
- url 中对应的 ipa 下载路径
- bundle-identifier 中对应的包名
- bundle-version 中对应的包版本
- title 中对应的 App 名
<?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>items</key>
<array>
<dict>
<key>assets</key>
<array>
<dict>
<key>kind</key>
<string>software-package</string>
<key>url</key>
<string>https://xxx.com/xxx.ipa</string>
</dict>
</array>
<key>metadata</key>
<dict>
<key>bundle-identifier</key>
<string>com.xxx.xxx</string>
<key>bundle-version</key>
<string>1.0.0</string>
<key>kind</key>
<string>software</string>
<key>title</key>
<string>应用名称</string>
</dict>
</dict>
</array>
</dict>
</plist>
dns 解析配置
这里有两个选择,如果公司内部网络有 DNS 解析服务器,直接在后台配置域名对应的内网 ip 即可,但如果没有,直接在 DNS 域名中配置一个 A 类型的解析,指向公司内网 ip 也是 ok 的
最后
如果公司有多个项目,只需要在 CI/CD 中增加一个 ipa 拷贝流程到指定的文件服务器就全妥了,基本上可以告别如何装 ipa 这种蛋疼的问题了
- 感谢你赐予我前进的力量
赞赏者名单
因为你们的支持让我意识到写文章的价值🙏
本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果