uni-app打包iOS ipa文件后不上架App store为用户提供下载解决过程记录

写在前面,itms-services协议是什么

itms-services协议是苹果提供的一种让iOS应用在用户设备上无线安装或升级的协议。

具体来说:

  1. itms-services表示iOS应用无线安装服务的URL方案,格式为:itms-services://?action=download-manifest&url=MANIFEST_URL
  2. 其中MANIFEST_URL指向一个包含应用下载信息的清单文件。
  3. 清单文件是一个文本文件,使用XML格式,里面包含iOS应用的元数据、下载链接等信息。
  4. 当用户在Safari里打开一个itms-services协议的URL时,iOS系统会读取清单文件,并根据里面的信息触发应用的安装或升级。
  5. 这样可以实现在不需要连接电脑的情况下,通过手机Safari下载安装应用。
  6. itms-services需要配合关联的清单文件,并需要对应用进行正确代码签名后才能生效。
  7. 苹果要求这个安装过程需要用户手动触发,不能自动弹出。
    总之,itms-services协议可以让iOS应用实现无线安装和发布更新,为用户提供更流畅的应用下载体验。但需要构建正确的清单文件,并进行签名打包。

UniApp打包ipa文件,上架iOS App Store 流程指南 - 知乎 (zhihu.com)


报错:Asset validation failed (90717)

Invalid App Store Icon. The App Store Icon in the asset catalog in 'HBuilder.app' can't be transparent nor contain an alpha channel. (ID: 5c42075b-3339-4bb6-a08c-ad24f4182d60)

解决方案:

iOS 提交应用过程出现的错误及#解决方案#images can't contain alpha channels or transparencies - iTeaTime(技术清谈) - 博客园 (cnblogs.com)
->要通过mac将图表另存为png,然后再次将该图片另存为即可出现【Alpha】取消选项

TestFlight:App 不可用或者不存在_iOSTips的博客-CSDN博客

->也就是说你通过Testflight测试的App必须是已上架App store的App!即是【内测版】

不通过App store使用户安装,采用以下方法:itms-services协议

IOS 使用itms-services协议,服务端安装应用_itms-services info.plist格式_书弋江山的博客-CSDN博客

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>items</key>  
    <array>  
        <dict>  
            <key>assets</key>  
            <array>  
                <dict>  
                    <key>kind</key>  
                    <string>software-package</string>  
                    <key>url</key>  
                    <string>ipa文件下载地址</string>  
                </dict>  
            </array>  
            <key>metadata</key>  
            <dict>  
                <key>bundle-identifier</key>  
                <string>包名</string>  
                <key>bundle-version</key>  
                <string>版本号</string>  
                <key>kind</key>  
                <string>software</string>  
                <key>title</key>  
                <string>项目名字</string>  
            </dict>  
        </dict>  
    </array>  
</dict>  
</plist>

注意plist下载的网络协议必须为HTTPS协议,故可以使用GitHub来测试,测试好了使用自己公司服务器

过程截图:

->点击【安装】后在桌面下载安装,以下为采用不同证书打包上传服务器后在测试手机上的结果:

iPhone12(iOS15.4)iPhone7plus(iOS15.7.9)

采用发布证书打包后的文件:

无法安装,点击app显示"无法安装此App,因为无法验证完整性"

采用测试(开发)证书(未添加测试手机uuid)打包后的文件:

iPhone7plus测试手机正常安装,iPhone12已经无法验证完整性

采用测试(开发)证书(添加了uuid):

可正常安装使用

相关推荐
2501_9159184124 分钟前
HTTPS 端口号详解 443 端口作用、iOS 抓包方法、常见 HTTPS 抓包工具与网络调试实践
android·网络·ios·小程序·https·uni-app·iphone
全栈技术负责人4 小时前
Hybrid应用性能优化实战分享(本文iOS 与 H5为例,安卓同理)
前端·ios·性能优化·html5
Zender Han4 小时前
Flutter 视频播放器——flick_video_player 介绍与使用
android·flutter·ios·音视频
咕噜签名分发冰淇淋6 小时前
苹果ios的系统app应用WebClip免签应用开源及方式原理
ios·开源·cocoa
2501_9151063210 小时前
App Store 软件上架全流程详解,iOS 应用发布步骤、uni-app 打包上传与审核要点完整指南
android·ios·小程序·https·uni-app·iphone·webview
快起来搬砖了10 小时前
实现一个优雅的城市选择器组件 - Uniapp实战
开发语言·javascript·uni-app
数学分析分析什么?10 小时前
Uniapp中使用renderjs实现OpenLayers+天地图的展示与操作
uni-app·openlayers·天地图·renderjs
海绵宝宝不喜欢侬10 小时前
UniApp微信小程序-实现蓝牙功能
微信小程序·uni-app
开开心心loky10 小时前
[iOS] ViewController 的生命周期
macos·ui·ios·objective-c·cocoa
Python大数据分析12 小时前
uniapp微信小程序商品列表数据分页+本地缓存+下拉刷新+图片懒加载
缓存·微信小程序·uni-app