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 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):
可正常安装使用

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/143628.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Apache Beam 2.50.0发布,该版本包括改进功能和新功能

导读我们很高兴向您介绍 Beam 的新版本 2.50.0。该版本包括改进功能和新功能。请查看此版本的下载页面。 亮点 Spark 3.2.2 被用作 Spark 运行程序的默认版本&#xff08;#23804&#xff09;。Go SDK 新增默认本地运行程序&#xff0c;名为 Prism&#xff08;#24789&#xff0…

基于web的学校二手书城系统/二手书交易系统

摘 要 本文论述了学校二手书城系统的设计和实现&#xff0c;该网站从实际运用的角度出发&#xff0c;运用了计算机网站设计、数据库等相关知识&#xff0c;网络和Mysql数据库设计来实现的&#xff0c;网站主要包括用户注册、用户登录、浏览图书、搜索图书、查看图书并进行购买…

大数据Flink(八十五):Window TVF 支持多维数据分析

文章目录 Window TVF 支持多维数据分析 一、Grouping Sets 二、​​​​​​​Rollup

【数据库】存储引擎InnoDB、MyISAM、关系型数据库和非关系型数据库、如何执行一条SQL等重点知识汇总

目录 存储引擎InnoDB、MyISAM的适用场景 关系型和非关系型数据库的区别 MySQL如何执行一条SQL的 存储引擎InnoDB、MyISAM的适用场景 InnoDB 是 MySQL 默认的事务型存储引擎&#xff0c;只有在需要它不支持的特性时&#xff0c;才考虑使用其它存储引擎。实现了四个标准的隔…

Vue2+ElementUI 静态首页案例

源码 <template><div class"app-container home"><el-row type"flex" justify"space-around" class"row-bg"><el-card class"box-card cardDiv1"><el-col :span"5"><div clas…

软考-操作系统

/4操作系统的作用 进程 进程的概念 进程是程序的一次执行过程&#xff0c;没有程序就没有进程 进程可有多个线程&#xff0c;线程可共享资源 进程的两个基本属性&#xff1a; 可拥有资源的独立单位可独立调度和分配资源的基本单位 线程可共享&#xff1a; 内存地址空间代码…

自定义Unity组件——AudioManager(音频管理器)

需求描述 在游戏开发中&#xff0c;音频资源是不可或缺的&#xff0c;通常情况下音频资源随机分布&#xff0c;各个音频的操作和管理都是各自负责&#xff0c;同时对于音频的很多操作逻辑都是大同小异的&#xff0c;这就造成了许多冗余代码的堆叠&#xff0c;除此之外在获取各类…

Axure RP9 引入eCharts图表

一、 ECharts 地址&#xff1a;https://echarts.apache.org/zh/index.html 概述&#xff1a;一个基于 JavaScript 的开源可视化图表库 提供了很多图标样式案例 二、 Axure引入eCharts图表步骤 步骤一&#xff1a;打开Axure&#xff0c;添加矩形元素&#xff0c;调整矩形所…

WorkPlus私有化部署IM即时通讯平台,构建高效安全的局域网办公环境

随着数字化转型的加速&#xff0c;政府机构与企业对高效、安全的即时通讯和协作工具的需求日益增长。企业微信和钉钉作为当前市场上较为常见的通讯工具&#xff0c;虽然在一定程度上满足了企业内部协作的需求&#xff0c;但仍存在一些问题&#xff0c;如数据安全性、私有化部署…

静态路由+BFD实例

项目拓扑与项目需求 项目需求 ① 主链路为电信&#xff0c;电信链路出故障时&#xff0c;业务数据流量切换到联通链路 实验步骤 步骤1&#xff1a;设备重命名以及IP地址的配置 设备 接口编号 IP地址 AR1 G0/0/0 10.0.13.1/24 G0/0/1 10.0.14.1/24 AR2 G0/0/0 10.0…

IntelliJ IDEA快速查询maven依赖关系

1.在Maven窗口中点击Dependencies->show Dependencies 2.得到依赖关系图 此时原有快捷键Ctrlf可以查询jar包&#xff0c;如果没有查询菜单出来则设置快捷键方式为 File->Settings->Keymap->搜索栏输入find->在Main Menu下Edit下Find下Find双击算则Add keyboard…

项目任务管理上的一些总结

1. 开发任务管理现状&#xff1a; 1&#xff1a;基于禅道进行任务派发&#xff0c;缺少任务统计&#xff0c;进度上只能以“来不及”、“进度正常”、“进度延后”等模糊字眼。 2&#xff1a;“感觉”工作效率不高了&#xff0c;工作量是否饱和&#xff0c;任务投入产出偏差多…

vue3中$refs使用调整

前言&#xff1a; vue3环境 在vue2环境中&#xff0c;可以直接通过this.$refs获取模块&#xff1b;在vue3环境中&#xff0c;通用以下两种方式获取&#xff1a; 1、通过声明ref进行获取&#xff1b; import { ref} from vue; const logoForm ref(); console.log(logoForm.va…

NSDT孪生场景编辑器系统介绍

一、产品背景 数字孪生的建设流程涉及建模、美术、程序、仿真等多种人才的协同作业&#xff0c;人力要求高&#xff0c;实施成本高&#xff0c;建设周期长。如何让小型团队甚至一个人就可以完成数字孪生的开发&#xff0c;是数字孪生工具链要解决的重要问题。考虑到数字孪生复杂…

go语言unsafe.Pointer与uintptr

以下内容来源go语言圣经 1、unsafe.Pointer&#xff0c;相当于c语言中的void *类型的指针&#xff0c;如果需要运算需要转成uintptr类型的指针 2. uintptr uintptr是一个无符号的整型&#xff0c;它可以保存一个指针地址。 它可以进行指针运算。 uintptr无法持有对象, GC不把…

急救车工业路由器应用提升急救效率:车联网、数据采集与远程诊疗

急救车作为医院里医疗急救过程中的重要组成部分&#xff0c;在智慧医疗物联网领域中急救车应用4G工业路由器实现网络部署与数据采集&#xff0c;通过工业4G路由器能够实时采集到病患的生理数据、救护现场音频与视频、GPS定位以及车辆运行状态等重要信息。这些数据将被传输到医疗…

分布式任务调度平台——XXL-JOB

目录 1.概述1.1.什么是任务调度&#xff1f;1.2.为什么需要分布式调度1.3 XXL-JOB 介绍1.3.1.概述1.3.2.✨系统架构图1.3.3.✨设计思想1.3.4.✨执行流程 2.快速入门2.1.下载源码2.2.初始化调度数据库2.3.编译源码2.4.配置部署调度中心2.4.1.调度中心配置2.4.2.部署项目 2.5.配置…

Java 并发编程面试题——BlockingQueue

目录 1.什么是阻塞队列 (BlockingQueue)&#xff1f;2.BlockingQueue 有哪些核心方法&#xff1f;3.BlockingQueue 有哪些常用的实现类&#xff1f;3.1.ArrayBlockingQueue3.2.DelayQueue3.3.LinkedBlockingQueue3.4.PriorityBlockingQueue3.5.SynchronousQueue 4.✨BlockingQu…

java项目值水果销售管理网站(ssm源码+文档)

项目简介 水果销售管理网站实现了以下功能&#xff1a; 管理员&#xff1a;主页、个人中心、用户管理、水果信息管理、水果类别管理、销售单位管理、水果销售分析管理、会员分析管理、系统管理、订单管理。用户前台&#xff1a;首页、水果信息、新闻资讯、我的、跳转到后台、…

我用PYQT5做的第一个实用的上位机项目(二)

从这篇开始&#xff0c;复盘整个的过程&#xff0c;做一个记录。 首先&#xff0c;制作一些自定义的常用部件&#xff0c;原生的部件很粗糙。 一、按钮的图片资源&#xff1a;用绘图软件&#xff08;例如AI、coreldraw、PS等&#xff0c;看自己的熟悉程度&#xff09;制作按钮…