29,038
社区成员
发帖
与我相关
我的任务
分享大家好,最近做了一个App,生成了Ipa包,一个基于内部局域网运行的app,现在如果不想通过上架,而是通过微信扫码安装运行,客户端数量有限,最多50个手机,有哪位能指点一下如何操作。
这个需求我做过,结论是:不想走 App Store 审核,iOS 上只有两条合规路,企业签名 OTA 分发和 Ad Hoc 真机分发,微信扫码只是入口,真正的坑在扫码之后怎么把安装请求交到 Safari。
先说你最关心的流程。
企业签名(Apple Developer Enterprise Program,299 美元一年的企业账号):把 ipa 和 manifest.plist 放到一台 HTTPS 服务器上,用户用 Safari 打开 itms-services://?action=download-manifest&url=https://你的域名/xx.plist 就会弹安装。域名必须 HTTPS,http 直接装不了,证书要受信任,不然 iOS 会拦。
Ad Hoc(普通开发者账号,99 美元):把你的 ipa 用包含目标设备 UDID 的 provisioning profile 签名,装到已注册的 50 台手机上。缺点是要逐个加 UDID,上限一年 100 台,但你现在就 50 台,够用。
内网局域网这个条件要注意一点:如果手机和服务器只在公司内网互通,用户必须连同一个 Wi-Fi 才能下载到 ipa,这个要提前讲清楚,别让用户回家点链接然后说装不了。
然后是微信扫码的坑。微信内置浏览器会拦截 itms-services 这种协议,直接扫码打开 manifest 链接大概率白屏或没反应。标准做法是:
另外提醒一个合规点:企业证书签名的应用只能给企业内部员工用,苹果对分发范围查得挺严,账号被举报或检测到公开分发会直接封。你们是公司内部 50 台设备用,没问题;如果这 App 要给外部客户用,那还是得走 App Store 或 TestFlight,别用企业证书硬撑。
TestFlight 也可以考虑:上传到 App Store Connect,把 50 台设备加为内部测试员,不用过审也能装,但你们是纯内网 App,TestFlight 装完还要能连到内网服务器才行,看你们网络环境适不适合。
你们现在是准备用企业账号还是普通开发者账号?内网服务器和域名证书这块已经就绪的话,我可以把 manifest.plist 的具体字段和签名命令列给你。
用testfight呢
账号密码先写死,谁用给谁,进去再绑定手机号
限制人数可以通过登录注册来实现,比如限制50个注册人数
1111