iOS 8.1 Enterprise Distribution

南笙酒味 提交于 2019-12-22 17:48:43

问题


I have an application that is built with xcode 6.1.

I created a plist to go with it.

It downloads just fine on iOS 8.0.2 and before, however, it always fails to install on any iOS 8.1 devices.

Here are my steps I am following.

Archive the ipa file using the created certificate and provisioning profile Host the plist and ipa file in your server

Include a download html file with a href tag with src

"itms-services://?action=download-manifest&url=https://mypassagewaytest.gwic.com/gw/premcalc/iPremium.plist"

And my 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://mypassagewaytest.gwic.com/gw/premcalc/iPremium.ipa</string>
                </dict>
            </array>
            <key>metadata</key>
            <dict>
                <key>bundle-identifier</key>
                <string>com.gwic.premiumcalculator</string>
                <key>bundle-version</key>
                <string>1.3.0</string>
                <key>kind</key>
                <string>software</string>
                <key>title</key>
                <string>iPremium</string>
            </dict>
        </dict>
    </array>
    </dict>
    </plist>

回答1:


Solved. I just update the provision profile by downloading latest enterprise distribution profile from developer.apple.com. I was facing the same issue. But I am using Xcode 6.0.1. Now everything is working like a charm, (Testflightapp and my own server both)




回答2:


ok, Here is what i found after struggling on this for a day.

This is how your Plist should look like

<?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>display-image</string>
                    <key>needs-shine</key>
                    <true/>
                    <key>url</key>
                    <string>https://downloadLocation.com/icon_57x57.png</string>
                </dict>
                <dict>
                    <key>kind</key>
                    <string>full-size-image</string>
                    <key>needs-shine</key>
                    <true/>
                    <key>url</key>
                    <string>https://downloadLocation.com/icon_512x512.png</string>
                </dict>
                <dict>
                    <key>kind</key>
                    <string>software-package</string>
                    <key>url</key>
                    <string>https://downloadLocation.com/iOSBuild.ipa</string>
                </dict>
            </array>
            <key>metadata</key>
            <dict>
                <key>bundle-identifier</key>
                <string>com.company.Product.g34askas6jas77skks6777s7s7s77</string>
                <key>bundle-version</key>
                <string>x.x</string>
                <key>kind</key>
                <string>software</string>
                <key>title</key>
                <string>appName</string>
            </dict>
        </dict>
    </array>
</dict>
</plist>

Interesting things here

  1. You need to have "display-image" and "full-size-image" dictionary keys in your Plist from 8.0 onwards. For me app didn't download on 8.0 unless I had these keys.

  2. You need to append some extra characters at the end of bundle identifier. In my case the app was not installing on some 8.1 devices. I don't know why this is needed but this worked for me. My best guess is it does some kind of cache burst.

Hope this helps someone.



来源:https://stackoverflow.com/questions/26536018/ios-8-1-enterprise-distribution

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!