ios itms-services://?action=download-manifest 在 IIS 中不起作用
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/12817057/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
itms-services://?action=download-manifest Not Work in IIS
提问by user1511029
I have created an ios apps and let selected devices download&install on idevices browser safari.So make a link like this:
我创建了一个 ios 应用程序,并让选定的设备在 idevices 浏览器 safari 上下载和安装。所以做一个这样的链接:
<a href="itms-services://?action=download-manifest&url=http://myserver.com/Info.plist">
and when i click it was popup a message "cannot connect to myserver.com".
当我点击它时会弹出一条消息“无法连接到 myserver.com”。
Then i figure out IIS missing MimeType so i add back to it.
然后我发现 IIS 缺少 MimeType,所以我添加回它。
.ipa application/octet-stream
.plist text/xml
But finally when i click on it no response at all,why? i doubt info.plist setting was wrong or something.
但是最后当我点击它时根本没有反应,为什么?我怀疑 info.plist 设置是错误的还是什么。
Here are my info.plist setting:
这是我的 info.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>AppStoreFileSize</key>
<integer>4329818</integer>
<key>ApplicationProperties</key>
<dict>
<key>ApplicationPath</key>
<string>http://myserver.com/Apps.ipa</string>
<key>CFBundleIdentifier</key>
<string>com.app.app</string>
<key>IconPaths</key>
<array>
<string>http://myserver.com/icon.png</string>
<string>http://myserver.com/icon.png</string>
<string>http://myserver.com/[email protected]</string>
<string>http://myserver.com/icon-72.png</string>
</array>
<key>SigningIdentity</key>
<string>CSR Certificate</string>
</dict>
<key>ArchiveVersion</key>
<integer>2</integer>
<key>CreationDate</key>
<date>2012-10-10T09:02:39Z</date>
<key>Name</key>
<string>AppName</string>
<key>SchemeName</key>
<string>AppName</string>
回答by Unus
You code needs to look like this
你的代码需要看起来像这样
<?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://www.example.com/test.ipa</string>
</dict>
</array>
<key>metadata</key>
<dict>
<key>bundle-identifier</key>
<string>com.name.name</string>
<key>bundle-version</key>
<string>1.0</string>
<key>kind</key>
<string>software</string>
<key>title</key>
<string>Name</string>
</dict>
</dict>
</array>
</dict>
</plist>
Remember to change:
记得改:
Bundle Identifier= <string>com.company.name</string>
Installer Name= <string>Name</string>
Ipa Download= <string>http://www.example.com/test.ipa</string>
Change the <string>http://www.example.com/test.ipa</string>
to where ever you located you ipa for install.
Create you Install.plist or Start.plist what ever and go into mobile safari and type: itms-services://?action=download-manifest&url=http://www.example.com/whatever.plist
And it should go a head and download it there may be some bugs when downloading.
Remember that the ipa needs a valid UDID= unique device identification.
将<string>http://www.example.com/test.ipa</string>
ipa更改为您所在的位置进行安装。创建 Install.plist 或 Start.plist 什么的,然后进入 mobile safari 并输入:itms-services://?action=download-manifest&url=http://www.example.com/whatever.plist
它应该先下载下来,下载时可能会出现一些错误。请记住,ipa 需要一个有效的 UDID= 唯一设备标识。
Hope this helped.
希望这有帮助。
Best Regards Silas.
最好的问候塞拉斯。
回答by olaf
Since iOS8, un-encrypted plist downloads are not accepted anymore.
从 iOS8 开始,不再接受未加密的 plist 下载。
So you need a valid ssl certificate and change the scheme to https. You can test this with amazon s3 for example.
所以你需要一个有效的 ssl 证书并将方案更改为 https。例如,您可以使用 amazon s3 对此进行测试。
回答by Mohammad Mirzakhani
you have to use Https for all urls in .plist file
你必须对 .plist 文件中的所有 url 使用 Https