Ad-Hoc图标无法显示

时间:2016-10-05 17:55:55

标签: ios ad-hoc-distribution

我在为测试人员分发我的应用时遇到了一个奇怪的问题。这是关于下载过程中的应用程序图标。

当用户通过指向应用清单的链接并点按“安装”时,可能会出现2个问题:

  1. 在应用程序准备好启动之前,主屏幕上的应用程序图标根本不会显示。
  2. 显示应用程序图标占位符,而不是清单(please see screenshot)上由URL托管的应用程序图标。完全安装应用程序后,将显示该软件包中的应用程序图标。
  3. 该问题转载于:

    • iPhone 5s,iOS 9.2.1
    • iPhone 5s,iOS 10.0.2
    • iPhone 4s,iOS 9.3.5

    使用iOS 9.2的iPad Air(A1474)没有问题。

    这是我的清单:

    <?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://s3-eu-west-1.amazonaws.com/vandco/JustAMap/JustAMap.ipa</string>
                    </dict>
                    <dict>
                        <key>kind</key>
                        <string>full-size-image</string>
                        <key>needs-shine</key>
                        <false/>
                        <key>url</key>
                        <string>https://s3-eu-west-1.amazonaws.com/vandco/JustAMap/globe-adhoc-1024p.png</string>
                    </dict>
                    <dict>
                        <key>kind</key>
                        <string>display-image</string>
                        <key>needs-shine</key>
                        <false/>
                        <key>url</key>
                        <string>https://s3-eu-west-1.amazonaws.com/vandco/JustAMap/globe-adhoc-1024p.png</string>
                    </dict>
                </array>
                <key>metadata</key>
                <dict>
                    <key>bundle-identifier</key>
                    <string>ru.vandco.JustAMap</string>
                    <key>bundle-version</key>
                    <string>0.9</string>
                    <key>kind</key>
                    <string>software</string>
                    <key>subtitle</key>
                    <string>V&amp;Co Ltd.</string>
                    <key>title</key>
                    <string>Просто.Карта</string>
                </dict>
            </dict>
        </array>
    </dict>
    </plist>
    

    应用程序图标在PNG中为1024x1024,1.1 MiB。我试图使用Apple documentation中描述的57x57,但是更多的测试人员报告了这个问题,所以我决定提高分辨率。

    这是我的清单的链接:itms-services://?action=download-manifest&url=https://vandco.s3.amazonaws.com/JustAMap/JustAMap.plist

    该应用程序由Ad-Hoc Distribution的配置文件进行编码。它的安装和工作正常,问题在于通过无线下载时的应用程序图标。

    我想知道这是我的错还是Apple错误,我该如何修复或解决它?

1 个答案:

答案 0 :(得分:0)

似乎iOS 9.2等待短暂的超时下载Ad-Hoc应用程序图标。如果图标足够大,或者互联网连接速度很慢,或者托管服务器的图标有明显的ping延迟,iOS将中止下载图标并显示占位符。我用一个简单的PHP脚本测量了我自己服务器上的超时。虽然我不知道确切的ping延迟,但我认为它是合理的短路。所以我可以说超时应该是约。 1秒

因此,如果服务器无法在1秒内响应图像,则iOS 9.2将中止下载图标。

无论如何它在iOS 9.3.5及更高版本中不会重现:iOS会在一段时间内显示占位符,但仍会等待服务器响应,如果服务器在下载应用程序之前使用图标进行响应,则占位符将更改为下载了ad-hoc图标。