使用 plist 文件在 iPhone / iPad 上安装应用程序时如何正确显示图标和进度?
Posted
技术标签:
【中文标题】使用 plist 文件在 iPhone / iPad 上安装应用程序时如何正确显示图标和进度?【英文标题】:How to show the icon and progress when installing an app on iPhone / iPad using a plist file, correctly? 【发布时间】:2018-06-14 21:05:57 【问题描述】:我正在开发自己的 AppStore 网站,该网站为一家公司托管各种企业应用程序。到目前为止,一切正常,除了建议的在 Apple 设备上下载应用程序的方式。
问题是,我没有存档与从官方 Apple AppStore 安装的应用程序相同的效果。在安装应用程序之前,我在主屏幕上看不到应用程序的图标,并且在下载应用程序时看不到任何进度,只有在安装应用程序时才看到。应用程序本身的下载和安装工作。
当一个人选择将应用下载到他/她的 iPhone 时,会重定向到 itms 链接,如下所示:
itms-services://?action=download-manifest&url=https://example.org/appdistribution/ios/myApp/meta.plist
我的 meta.plist 文件如下所示:
<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://example.org/appdistribution/iOS/myApp/app.ipa</string>
</dict>
<dict>
<key>kind</key>
<string>display-image</string>
<key>needs-shine</key>
<true/>
<key>url</key>
<string>https://example.org/appdistribution/iOS/myApp/icon.png</string>
</dict>
</array>
<key>metadata</key>
<dict>
<key>bundle-identifier</key>
<string>com.sample-company.myApp</string>
<key>bundle-version</key>
<string>3.0.0</string>
<key>kind</key>
<string>software</string>
<key>title</key>
<string>MyApp</string>
</dict>
</dict>
</array>
</dict>
</plist>
这是应用下载时的样子:
这是应用安装时的样子:
一旦安装,图标就会出现。
我尝试了几种图像分辨率,例如 57x57、72x72、100x100 和 256x256。我已经在 iPhone 和 iPad 上进行了测试。我怀疑下载过程中缺少进度是由于图像无法加载而导致的后续错误。
真正奇怪的是,我可以发誓它曾经工作过。这看起来很琐碎,但我不确定这是由什么引起的。有什么好的例子行得通吗?
【问题讨论】:
您可能会发现以下有用:) Application download progress @AbuUlHassan 谢谢你的链接,你的链接中接受的答案是错误的。我确定这以前有效。我会查看托管我的 IPA 的 IIS,也许自动 gzip 是这里的问题。 【参考方案1】:我猜你期望看到你的应用程序图标在 iOS 安装之前一直应用这种暗淡的效果,对吗?如果这是正确的,我相当肯定这是一项仅适用于 App Store 下载的功能。
为了验证这一点,我已经测试了使用 TestFlight 和另一个内部分发系统 (AppCenter) 安装我的应用程序,在这两种情况下我看到的和你自己一样。下载和安装应用程序时的 Apple 占位符图标,安装完成后我的应用程序图标。
【讨论】:
是的,但我很确定它以前有效。莫非是苹果最近改了? (他们为什么要这么做?) 关于那个,我不确定。我相当肯定你描述的情况至少从 iOS 11.0 开始就存在。 100% 确定 iOS 11.4 是我用于测试的版本。 我记得最近更新到 11.4。当它宣布时我等了一会儿,现在我真的怀疑这是 iOS 11.4 中的一个错误。不幸的是,我没有旧设备来证实我的怀疑。 我刚刚测试过,我可以在 iOS 11.3 上确认,你得到了同样的体验。这强化了我之前的观点,即我相当确定自 iOS 11 以来它一直是这样的。不过我注意到的一件事是,在大约 80% 的安装过程中,占位符图标被应用程序的图标取代。因此,它不一定会在安装完成时更改,而是在安装完成之前不久。【参考方案2】:您可以使用 BetaBuilder 生成 plist 文件: https://github.com/HunterHillegas/iOS-BetaBuilder
【讨论】:
难以置信!这个答案应该得到验证! 我刚测试过,但问题依旧,我认为这确实是一个错误,我对此没有其他解释。或我的服务器上导致此问题的任何内容。由于某种原因,创建的 AppIcon60x60@2x.png 在预览中看起来不错,但在浏览器中却不行。但如上所述,我还测试了使用 Preview 和 GIMP 保存的普通 PNG,它们可以在浏览器中与图像 URL 一起显示。抱歉,这不起作用,或者任何人都可以验证相反的情况?以上是关于使用 plist 文件在 iPhone / iPad 上安装应用程序时如何正确显示图标和进度?的主要内容,如果未能解决你的问题,请参考以下文章