专栏首页前端资源iOS系统在线下载安装ipa文件,以及跳转描述文件信任证书的实现

iOS系统在线下载安装ipa文件,以及跳转描述文件信任证书的实现

上周写了一个iOS系统在没有上架苹果应用商店的情况下,通过企业证书安装 ipa 软件的实例。

教程简介:

1、利用 itms-services 和 plist 文件,在线下载安装 ipa 文件。

2、直接跳转【设置-通用-描述文件】,信任证书。

首先需要特别注意

1、ipa 的下载地址放到 plist 的文件中,链接指定 plist(格式见下文)

2、plist 的链接必须是 https (SSL加密)的,而且必须是公网,自签名及免费的 https 不可用。

3、链接格式要求一定是符合苹果规范的,itms-services://?action=download-manifest&url=https://****/***.plist

目前可以使用 https 测试用的域名:https://raw.githubusercontent.com/

下载安装ipa:

将 plist 上传到 github 上,查看 plist 内容页面上右上角点击“Raw”。

使用该地址链接格式为 https://raw.githubusercontent.com/用户名/项目名/master/xxxx.plist

拼接链接: itms-services://?action=download-manifest&url=https://raw.githubusercontent.com/用户名/项目名/master/xxxx.plist

在 iPhone 手机中打开 Safari ,访问该链接,提示:在"iTunes"中打开链接吗?,点击打开。

提示“raw.githubusercontent.com”要安装“XXXXX”,点击安装即可在线下载安装 ipa 。

点击直接跳转信任证书:

针对企业应用安装后如何在 Safari 中引导用户跳转到 [设置 - 通用 - 描述文件] 页面,以便用户信任企业签名描述文件,在 iOS9 的时候很方便,无论是在应用内还是在 Safari 中都可以直接唤起,但是从 iOS10 起,苹果禁止了一切对 [设置] 的主动跳转。

iOS9

iOS10

in-App (openURL)

Safari

另外还测试了一下,在应用内用 UIWebView 加载 HTML 进行跳转,结论与上一致。

URL Scheme

iOS 9 : prefs:root=General&path=ManagedConfigurationList
iOS 10 : App-Prefs:root=General&path=ManagedConfigurationList

解决:

可以看到 iOS10 并不能从 Safari 直接跳转 [描述文件] 了,但是还有一个方式可以达到该效果,直接链接到一个企业签名的描述文件(.mobileprovision),在 Safari 中直接访问 https://raw.githubusercontent.com/用户名/项目名/master/hello.mobileprovision (你的企业描述文件地址)就可以实现跳转了。

.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>http://xxxxxxxxxxxxxxxxxxx/xxx.ipa</string>
				</dict>
				<dict>
					<key>kind</key>
					<string>full-size-image</string>
					<key>needs-shine</key>
					<true/>
					<key>url</key>
					<string>http://xxxxxxxxxxxxxxxxxx.png</string>
				</dict>
				<dict>
					<key>kind</key>
					<string>display-image</string>
					<key>needs-shine</key>
					<true/>
					<key>url</key>
					<string>http://xxxxxxxxxxxxxxxxxx.png</string>
				</dict>
			</array>
			<key>metadata</key>
			<dict>
				<key>bundle-identifier</key>
				<string>com.xxxx.demo</string>
				<key>bundle-version</key>
				<string>1.0.0</string>
				<key>kind</key>
				<string>software</string>
				<key>title</key>
				<string>XXXX App download</string>
			</dict>
		</dict>
	</array>
</dict>
</plist>

参考文档:

ipa在线下载安装(itms-services)

如何在 iOS10 Safari 中跳转 [设置-通用-描述文件]

声明:本文由w3h5原创,转载请注明出处:《iOS系统在线下载安装ipa文件,以及跳转描述文件信任证书的实现》 https://www.w3h5.com/post/310.html

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 在苹果应用商店的17个应用程序中发现iOS Clicker Trojan

    Wandera Threat Labs研究人员发现有十多个iOS应用程序感染了Clicker Trojan(点击木马)恶意代码并在苹果的应用商店传播。其使用和安...

    FB客服
  • 移动端H5页面开发坑点指南

    前言 在平时的H5移动端开发时,我们难免会遇到各种各样的坑点,这篇文章就带着大家来看看怎么解决,文章较长,建议收藏方便以后查阅!

    Javanx
  • Flutter进阶篇(7)-- Flutter路由轻量级框架FRouter

    版权声明:本文为博主原创文章,未经博主允许不得转载。 https://www.jianshu.com/p/f79bf0fb213c

    AWeiLoveAndroid
  • 快速地搭建“小直播”

    小直播 App 是一套开源完整的在线直播解决方案,它基于云直播服务(LVB)、即时通信服务(IM)和对象存储服务(COS)构建,并使用云服务器(CVM)提供简单...

    用户6575285
  • 微信 H5 页面兼容性解决方案

    最近给公司微信公众号,写了微信h5业务页面,总结分享一下前端开发过程中的几个兼容性坑,项目直接拿的公司页面,所以下文涉及图片都模糊处理了。

    ConardLi
  • 如何限定IP访问Oracle数据库

    各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识,~O(∩_∩)O~:

    孙杰
  • 史上更全的MySQL高性能优化实战总结!

    MySQL对于很多Linux从业者而言,是一个非常棘手的问题,多数情况都是因为对数据库出现问题的情况和处理思路不清晰。在进行MySQL的优化之前必须要了解的就是...

    用户5224393
  • H5页面测试总结

    用户5521279
  • Flutter 实战 - 用贝塞尔曲线画一个带文本的波浪球 Widget

    flutter 中的自定义 Widget 算作是 flutter 体系中比较高阶的知识点之一了,相当于原生开发中的自定义 View,以我个人的感受来说,自定义 ...

    叶应是叶
  • 为什么Windows/iOS操作很流畅而Linux/Android却很卡顿呢

    链接:https://blog.csdn.net/dog250/article/details/96362789

    JAVAandPython君

扫码关注云+社区

领取腾讯云代金券