Ad-Hoc图标未显示。

3
我在为beta测试者分发我的应用时遇到了一个奇怪的问题,涉及到下载期间的应用图标。
当用户通过链接访问应用程序清单并点击“安装”时,可能会出现两个问题:
1. 直到应用程序准备好启动之前,主屏幕上不会显示应用程序图标。 2. 在清单中托管我的应用程序图标URL处出现应用程序图标占位符(请参见截图)。当应用程序完全安装后,来自程序包的应用程序图标出现。
该问题在以下设备上复制:
- iPhone 5s,iOS 9.2.1 - iPhone 5s,iOS 10.0.2 - iPhone 4s,iOS 9.3.5
iPad Air(A1474)与iOS 9.2没有问题。
这是我的清单:
<?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>

应用图标为1024x1024像素的PNG格式,大小为1.1 MiB。我试图按照苹果文档中所述使用57x57作为图标分辨率,但有更多的测试人员报告了问题,因此我决定提高分辨率。
这是我的清单链接:itms-services://?action=download-manifest&url=https://vandco.s3.amazonaws.com/JustAMap/JustAMap.plist 该应用程序由用于Ad-Hoc分发的配置文件进行代码签名。它可以正常安装和工作,只是在通过空中下载时存在应用图标的问题。
我想知道这是我的问题还是苹果的问题,以及如何修复或解决这个问题?

安装过程中唯一的问题是显示错误的图像吗? - john_ryan
是的,这只发生在下载和安装期间。当应用程序安装完成后,来自捆绑包的图标会出现,就像它应该出现的那样。 - shelbalart
我现在在iPad上遇到了同样的问题,但就是不知道该怎么处理。真是令人沮丧... 在我的情况下,绝对不是图片大小的问题。此外,我正在使用CloudFront分发来下载图像,因此响应时间肯定在1秒以下。 - Leonid Usov
1个回答

1
似乎iOS 9.2会等待一个短暂的超时时间来下载Ad-Hoc应用程序图标。如果图标足够大,或者网络连接缓慢,或者托管图标的服务器存在显着的ping延迟,iOS将中止下载图标并显示占位符。我用一个简单的PHP脚本在自己的服务器上测量了超时时间。虽然我无法知道确切的ping延迟,但我认为它相当短。所以我可以说超时时间应该约为1秒钟
因此,如果服务器在1秒钟内未能响应图像,则iOS 9.2将中止下载图标。
无论如何,在iOS 9.3.5及更高版本中都没有复现:iOS会在一段时间后显示占位符,但仍在等待服务器响应,如果服务器在应用程序下载之前响应图标,则占位符将变成已下载的Ad-Hoc图标。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接