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

news2024/7/4 5:13:37

写在前面,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.coloradmin.cn/o/1039061.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

28 WEB漏洞-XSS跨站之WAF绕过及安全修复

目录 常规WAF绕过思路标签语法替换特殊符号干扰提交方式更改垃圾数据溢出加密解密算法结合其他漏洞绕过 自动化工具说明强大的fuzzing引擎安全修复方案演示案例&#xff1a; 常规WAF绕过思路 标签语法替换 xss的效果可以由多个代码来实现&#xff0c;就类似于我们使用到的其它…

02Redis的命令行客户端和桌面客户端的下载和安装

Redis桌面客户端 安装完成Redis服务,我们就可以在Redis的客户端操作Redis的数据库实现数据的CRUD了,客户端分为三类命令行客户端, 图形化桌面客户端,编程客户端 命令行客户端 Redis安装完成后就自带了命令行客户端: redis-cli [options] [commonds] -h选项&#xff1a;指定…

爬虫抓取数据超时是什么原因?如何解决爬虫抓取数据超时问题?

网络爬虫是一种自动化程序&#xff0c;它可以在互联网上抓取数据并将其存储在本地数据库中。然而&#xff0c;有时候&#xff0c;网络爬虫会遇到超时错误&#xff0c;导致无法成功抓取数据。那么&#xff0c;网络爬虫抓取数据显示超时是什么原因呢&#xff1f; 网络连接问题 网…

KMeans算法全面解析与应用案例

目录 一、聚类与KMeans介绍聚类的基础概念KMeans算法的重要性 二、KMeans算法原理数据集和特征空间距离度量算法步骤 三、KMeans案例实战案例背景&#xff1a;客户细分数据集说明Python实现代码输出与解释 四、KMeans的优缺点优点计算效率高算法简单易于实现 缺点需要预设K值对…

8.2 Jmeter if控制器使用

前提:jmeter脚本需要用到if控制器,if判断如果查询不到,则去新增。 1、添加if控制器 线程组-->逻辑控制器-->如果(if)控制器 1)、Expression (must evaluate to true or false) :表达式(值必须是true或false),也就是说,在右边文本框中输入的条件值必须是true 或…

矢量图形编辑软件illustrator 2023 mac软件特点

illustrator 2023 mac是一款矢量图形编辑软件&#xff0c;用于创建和编辑排版、图标、标志、插图和其他类型的矢量图形。 illustrator mac软件特点 矢量图形&#xff1a;illustrator创建的图形是矢量图形&#xff0c;可以无限放大而不失真&#xff0c;这与像素图形编辑软件&am…

表名注解/主键注解/字段注解/乐观锁注解[MyBatis-Plus系列] - 第486篇

悟纤&#xff1a;师傅&#xff0c;脑瓜疼~ 师傅&#xff1a;徒儿这是怎么了&#xff1f; ​ 悟纤&#xff1a;师傅&#xff0c;你了解冷暴力吗&#xff1f; 师傅&#xff1a;略懂略懂。 悟纤&#xff1a;那冷暴力是怎么定义的&#xff1f; 师傅&#xff1a;冷暴力是暴力的一…

华为智能高校出口安全解决方案(2)

本文承接&#xff1a; https://qiuhualin.blog.csdn.net/article/details/131475315?spm1001.2014.3001.5502 重点讲解华为智能高校出口安全解决方案的基础网络安全&业务部署与优化的部署流程。 华为智能高校出口安全解决方案&#xff08;2&#xff09; 课程地址基础网络…

前端web常用的基础案例

html案例&#xff1a; <!DOCTYPE html> <html> <head><title>My Website</title> </head> <body><header><h1>Welcome to My Website</h1><nav><ul><li><a href"#">Home</a…

华为云API对话机器人CBS的魅力—要是有AI,我要做“李白”- 5分钟开发作诗机器人

云服务、API、SDK&#xff0c;调试&#xff0c;查看&#xff0c;我都行 阅读短文您可以学习到&#xff1a;人工智能AI自言语言的情感分析、文本分词、文本翻译 1 IntelliJ IDEA 之API插件介绍 API插件支持 VS Code IDE、IntelliJ IDEA等平台、以及华为云自研 CodeArts IDE&a…

【数据结构】排序合集(万字详解)

文章目录 前言插入排序希尔排序选择排序堆排序快速排序hoare原生版本挖坑法前后指针法三数取中优化随机数取key优化三路划分版非递归 归并排序递归非递归调整边界单次归并单次拷贝 总结 前言 排序&#xff0c;以字面意思来说就是通过特定的算法将一组或多组无序或者接近有序的…

Vue 组件开发总结

Vue 组件开发思路 1. 组件划分 首先&#xff0c;你需要明确定义组件的划分。将大型界面划分为小型、可重用的组件是一个关键步骤。这有助于提高代码的可维护性和可复用性。 2. 组件设计 在设计组件时&#xff0c;考虑组件的输入&#xff08;props&#xff09;和输出&#xf…

Redis_注册为服务

Redis注册服务 1、windowsR ---->services.msc 先查看服务中是否存在redis服务 不存在的话就找到redis解压目录 输入redis-server --service-install&#xff0c;展示如下即为成功 查看服务 此时已经注册成功服务。 卸载服务 使用redis-server --service-uninst…

攻防演练篇 | 企业安全运营之攻防演练——以攻促防

随着互联网技术的发展和企业信息化程度的提高&#xff0c;企业面临的网络安全威胁越来越多。**为了保护企业的信息安全&#xff0c;攻防演练已经成为企业安全运营中不可或缺的一部分。**攻击者通常会利用各种方法来破坏企业的安全系统和数据&#xff0c;因此企业需要像攻击者一…

蓝桥杯 题库 简单 每日十题 day9

01 特殊年份 问题描述 今年是2021年&#xff0c;2021这个数字非常特殊&#xff0c;它的千位和十位相等&#xff0c;个位比百位大1&#xff0c;我们称满足这样条件的年份为特殊年份。输入5个年份&#xff0c;请计算这里面有多少个特殊年份。 输入格式 输入5行&#xff0c;每行一…

高效管理体验?试试docker registry连接

Linux 本地 Docker Registry本地镜像仓库远程连接 文章目录 Linux 本地 Docker Registry本地镜像仓库远程连接1. 部署Docker Registry2. 本地测试推送镜像3. Linux 安装cpolar4. 配置Docker Registry公网访问地址5. 公网远程推送Docker Registry6. 固定Docker Registry公网地址…

C++之list成员函数应用总结(二百三十七)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 人生格言&#xff1a; 人生…

【pdf密码】打开PDF文件之后发现不能编辑,什么原因?

打开PDF文件的时候&#xff0c;没有提示带有密码&#xff0c;但是打开文件之后发现没有办法编辑PDF文件&#xff0c;这个是因为PDF文件设置了限制编辑&#xff0c;我们需要将限制取消才能够编辑文件。 那么&#xff0c;我们应该如何取消密码&#xff0c;编辑文件呢&#xff1f…

redhat 6.1 测试环境安装 yum

redhat 6.1 测试环境安装 yum 记录 1. 新建虚拟机 1.1 自定义建立虚拟机 自定义创建新的虚拟机 选择硬件兼容性 创建空白硬盘&#xff0c;稍后选择 iso 文件创建系统。 选择操作系统类型 为虚拟机命名 选择处理器配置 选择虚拟机内存 选择虚拟机网络类型 选择…

零基础学JavaScript(二)ECMAScript 基础

一、变量 1. 我们JavaScript代码写在 script标签里面 2. 我们定义一个变量名字为name&#xff0c;它的值是“张三” 3. 打开开发者工具的控制台&#xff0c;查看打印结果 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"…