关于在iOS 10上创建HTTPS服务器和安装本地IPA的问题

关于在iOS 10上创建HTTPS服务器和安装本地IPA的问题,https,server,localhost,ios10,ipa,Https,Server,Localhost,Ios10,Ipa,我正在开发一个应用程序,它需要连接一个SSL-VPN隧道,获取一个企业IPA并将其安装在iOS设备上 我的应用程序可以调用SSL-VPN sdk并从VPN隧道下载IPA文件,但iOS/AppStore安装模块无法,因此无法直接安装plist和IPA文件。因此,我获得了一些开源代码来创建本地https服务器(使用我的自签名CA和SSL证书),预先下载目标IPA和plist文件,然后将plist的URL内容更改为本地路径: <?xml version="1.0" encoding="UTF-8

我正在开发一个应用程序,它需要连接一个SSL-VPN隧道,获取一个企业IPA并将其安装在iOS设备上

我的应用程序可以调用SSL-VPN sdk并从VPN隧道下载IPA文件,但iOS/AppStore安装模块无法,因此无法直接安装plist和IPA文件。因此,我获得了一些开源代码来创建本地https服务器(使用我的自签名CA和SSL证书),预先下载目标IPA和plist文件,然后将plist的URL内容更改为本地路径:

<?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>https://localhost:9999/XXX.ipa</string>
                </dict>
                <dict>
                    <key>kind</key>
                    <string>full-size-image</string>
                    <key>needs-shine</key>
                    <false/>
                    <key>url</key>
                    <string>https://localhost:9999/logo.png</string>
                </dict>
                <dict>
                    <key>kind</key>
                    <string>display-image</string>
                    <key>needs-shine</key>
                    <false/>
                    <key>url</key>
                    <string>https://localhost:9999/logo.png</string>
                </dict>
            </array>
            <key>metadata</key>
            <dict>
                <key>bundle-identifier</key>
                <string>com.XXX.XXX</string>
                <key>kind</key>
                <string>software</string>
                <key>title</key>
                <string>XXX</string>
            </dict>
        </dict>
    </array>
</dict>
</plist> 

项目

在我在iOS设备上启动我的应用程序后,使用webview/safari显示index.html(首先:导入我的CA证书并信任它),单击链接并安装我的本地IPA应用程序在iOS 8和iOS 9上,一切都能完美运行。

iOS 10发布后,问题也随之而来。 在iOS 10上,我的应用程序和HTTPS服务器可以正确运行,但当我单击安装链接时,系统显示错误弹出窗口:无法连接到本地主机

因此,我生成了一些SSL证书(绑定到指定的IP地址)并进行了以下测试:

测试1。在iOS 9设备上启动我的应用程序,使用iOS 10设备从iOS 9访问网页,单击链接并在iOS 10上安装IPA,成功

测试2。在iOS 10设备上启动我的应用程序,使用iOS 9设备从iOS 10访问网页,单击链接并在iOS 9上安装IPA,成功

测试3。在iOS 9设备上启动我的应用程序,从本地访问网页,单击链接并在本地安装IPA,成功

测试4。在iOS 10设备上启动我的应用程序,从本地访问网页,单击链接并在本地安装IPA,失败!失败!失败了

到底是什么原因,上帝保佑我


我快疯了,谁能帮帮我,谢谢

我做了另一个测试:测试5。在一台iOS 10设备上启动我的应用程序,使用另一台iOS 10设备从第一台iOS 10访问网页,单击链接并在第二台设备上安装IPA,成功!所以看起来苹果阻止系统从本地网络安装IPA…系统日志中的错误日志:。。。9月29日18:16:53 liuhm iTunestored[126]:无法加载包含基本错误的下载清单:错误域=SSErrorDomain Code=107“\M-f\M^W\240\M-f\M-3\M^U\M-h\M-?\M^\M-f\M^N\M-%”用户信息={NSLocalizedDescription=\M-f\M^W\240\M-f\M-3\M^U\M-h\M-?\M^\M-f\M-%。。。你说你有在iOS 9中运行的开源代码。你能分享一下吗?你解决了这个问题吗?
<html>
<head>
<title>iPhone HTTPS Server Example</title>
</head>
<body bgcolor="#FFFFFF">
<h1>Welcome to HTTPServer!</h1>


<a href="itms-services://?action=download-manifest&url=https://localhost:9999/XXX.plist">Install App</a><br/>

</body>
</html>