【发布时间】:2016-09-06 12:00:31
【问题描述】:
我们有很多内部应用,并且想要像 AppStore 这样的应用。我们做了一个演示。我们可以打开已安装的应用程序,但未安装在 iPhone 上的应用程序无法从我们的服务器下载到 iPhone。
我们这样做:
if([UIApplication sharedApplication] canOpenURL:..] == false){
NSString *schemelink = [NSString stringWithFormat:@"itms-services://?action=download-manifest&url=%@",**plist_url**];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:schemelink]]
}
我们为找到原因所做的事情:
- 将 plist url 复制粘贴到 Mac Safari 中,然后我检查 plist 并且所有内容都正确(ipa 链接和其他)。他们都在同一条路上。
- 复制粘贴只是ipa url。它开始在 Mac 上下载。
- 用
itms-services://?action=download-manifest&url=复制粘贴ipa url,它说
没有应用程序设置打开 URL ......ipa 在 App Store 中搜索可以打开此文档的应用程序,或选择计算机上现有的应用程序。
我该如何解决?
.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>https://....../AppName.ipa</string>
</dict>
</array>
<key>metadata</key>
<dict>
<key>bundle-identifier</key>
<string>com.company.AppName</string>
<key>bundle-version</key>
<string>1.3</string>
<key>kind</key>
<string>software</string>
<key>title</key>
<string>AppName</string>
</dict>
</dict>
</array>
</dict>
</plist>
【问题讨论】:
-
您的
manifest.plist文件是否托管在启用 SSL 的服务器上?如果没有,它将无法正常工作。
标签: ios objective-c in-house-distribution