Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to show the icon and progress when installing an app on iPhone / iPad using a plist file, correctly?

I'm working on an own AppStore website that is hosting various enterprise apps for a company. So far everything works, except for the suggested way of downloading apps on Apple devices.

The problem is, I don't archive the same effect like apps that are getting installed from the official Apple AppStore. I don't see the icon of the app on the home screen until the app is installed and I don't see any progress when the app is downloading, only when the app gets installed. The download and install of the app itself works.

When one chooses to download an app to his/her iPhone, there is a redirection to the itms link like so:

itms-services://?action=download-manifest&url=https://example.org/appdistribution/iOS/myApp/meta.plist

My meta.plist file looks like so:

<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>

This is what it looks while the app is downloading:

Downloading an app without display image

This is what it looks when the app is installing:

Installing an app without display image

Once it's installed the icon appears.

I tried several image resolutions like 57x57, 72x72, 100x100 and 256x256. I've tested it on an iPhone and an iPad. I suspect the missing progress on the downloading process is a subsequent error that is caused, because the image cannot load.

The really strange part is that I could swear that it once worked before. This looks so trivial, yet I'm not sure what this is caused by. Is there any good example that just works?

like image 518
Martin Braun Avatar asked Jun 14 '18 21:06

Martin Braun


People also ask

How can I tell when an app was installed on my iPad?

Use the App Store App Tap the Updates tab at the bottom of the screen. Select the account icon at the top right. Tap All Purchased. Choose My Purchased.


2 Answers

I guess what you are expecting is to see your app icon with that dimmed effect iOS applies until it has been installed, is that right? If that's correct, I'm fairly certain that is a feature available only to App Store downloads.

To validate that, I have tested installing my app both with TestFlight and with another internal distribution system (AppCenter) and in both cases I saw the same as yourself. Apple's placeholder icon while the application was being downloaded and installed, my application icon once installation finished.

like image 187
jjramos Avatar answered Nov 09 '22 14:11

jjramos


You can use BetaBuilder to generate the plist file : https://github.com/HunterHillegas/iOS-BetaBuilder

like image 26
Houcem Eddine Soued Avatar answered Nov 09 '22 15:11

Houcem Eddine Soued