Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

iOS install in-house app wirelessly

Tags:

xcode

ios

archive

Need some help to understand terminology and the process correctly.

I have an iOS app that i want to install on my Devices for testing. So far i was able to install the app on my devices only through iTunes(with archived .ipa file), plugging the device to my Mac.

My iOS developer program is not enterprise, it's regular Developer Program (the $99 one).

Can i use over the air installation in my case? http://help.apple.com/deployment/ios/#/apda0e3426d7 My app is built with a "Development" Provisioning profile and not "In House" provisioning profile. Documentation says it must be built with and in-house provisioning profile. I don't have in-house option in my Developer Program interface.

What other wireless, web based installation options can i provide my users?

like image 405
hzak Avatar asked Mar 13 '23 11:03

hzak


2 Answers

The difference between signing with an Enterprise account in-house distribution profile and one from a regular account is that the former allows any iOS device to install the .ipa, and the latter one allows only devices listed in the profile to install it. Without an enterprise account, this means that you need to obtain the deviceID from the devices first, create a provisioning profile that contains all those IDs and use that profile for an OTA-build (OTA = over the air). But before you do, just try out the next steps with your own device (which for sure is listed as you use if to build on from Xcode). The next steps are error-prone enough even without trying multiple devices:

To create an OTA-build you need to do the following:

  • create a .ipa for in-house distribution (this will make sure the profile is included into the package, which allows listed devices to actually install it)
  • create a .plist file with information about the app and a URL to the .ipa file (see below). The link to the .ipa contained in it needs to be HTTPS.
  • create an .html file with a specially formatted link (also needs to be HTTPS) to that .plist file: <a href="itms-services://?action=download-manifest&url=http://linkToyour/plistFile.plist"> Download My App </a>

If you browse on your iOS device to that webpage, you should be able to install the .ipa file. Make sure that you have your device connected to your machine with Xcode's devices pane open. This will allow you to look at the system output in the console when things don't work (the alerts on your iOS device usually are not helpful).

Note that another, way more convenient way is to setup an Xcode bot. Maybe you can do this from one machine, but I did this using an old MacBook I still had. Download Xcode Server (for free) by using the redemption code from the developer portal. Enable Xcode server, then setup a bot from your local machine. This is by far the most convenient way.

Here is a template of the .plist file that you need to make:

<?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>http://yourWebSite.com/youripaFileName.ipa</string> // change this
                </dict>
            </array>
            <key>metadata</key>
            <dict>
                <key>bundle-identifier</key>
                <string>yourBundleID</string> // change this
                <key>bundle-version</key>
                <string>yourApplicationVersion</string> // change this
                <key>kind</key>
                <string>software</string>
                <key>title</key>
                <string>yourAlertTitle</string> // change this
            </dict>
        </dict>
    </array>
</dict>
</plist>
like image 188
Joride Avatar answered Mar 15 '23 02:03

Joride


  1. Clean build folder. Go to Product Menu and Select Archive from the submenu. Let the process of archiving complete. Once it will get complete select export option from screen menu.

  2. Select save for development deployment method to export the ipa file.

  3. Chooose your provision profile and account that was used when you created the provision profile.

  4. Choose Export one app for all compatible devices option

  5. In the summary screen verify the correct provision profile and entitlement has been added to archived file. Click next option

  6. Finally save the ipa file to desktop or any other folder where you need it.

  7. Upload the .ipa file to https://www.diawi.com/ and get the installation link

like image 30
Jitendra Avatar answered Mar 15 '23 00:03

Jitendra