Search code examples
iosios8xcode6enterprisein-house-distribution

Xcode6 and ios8 app enterprise distribution


In xcode 6 when I create an ipa for distribution enterprise is no longer created the file .plist be included in the website for distribution. Also on some ipad when I open a link "itms-service" the app is installed normally, in others nothing happens and in others I get an error message. Documentation of the apple method itms-service has disappeared (it seemed to me that there was a paragraph in the distribution app guides), safari will no longer close automatically when launching the installation of an app. Do you think that is still valid installation via web page or apple has decided to remove it giving space to other methods (MDM)?


Solution

  • If you need to distribute apps via OTA with both enterprise or developer you can use you old .plist files. You have to edit the .plist file name in both the .plist and your "youSiteName.html".

    The plist has to be edited on 3 places:

    <?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://MY_SERVER_NAME/MY_APP_FOLDER_NAME/MY_APP_NAME.ipa</string>
                    </dict>
                </array>
                <key>metadata</key>
                <dict>
                    <key>bundle-identifier</key>
                    <string>MY_BUNDLE_IDENTIFIER_FROM_XCODE_PROJECT_SETTINGS</string>
                    <key>bundle-version</key>
                    <string>1.0</string>
                    <key>kind</key>
                    <string>software</string>
                    <key>title</key>
                    <string>MY_CUSTOM_APP_NAME</string>
                </dict>
            </dict>
        </array>
    </dict>
    </plist>
    

    So far I have tested this both on ENT and DEV accs on the following devices:

    1. iPad 2
    2. iPad 3
    3. iPad Air

    From iOS versions 7.1 - 8.1 it always worked with Xcode versions 5.1.1 and 6.0.1. Hope this helps you for the cases that don't work in your problem.

    I really don't know if it is still valid but this approach works. Xcode 6.0.1. had bugs... this may have been one of them. Personally I haven't been looking into why apple did it because of the fact that nowhere in the docs & release notes was stated that the ENT OTA server has to be with an SSL certificate (upon iOS update). I found out by goolging. One developer tried by force to solve the problem and ended up losing 5 work days to find it on google. Therefore, just wait it out.