Supersend is a simple tool that makes it easy for iOS and Android developers to send Ad hoc builds, IPA and APK files, via e-mail to testers, friends and clients. Without the need of iTunes. Just upload your app and enter at least one recipient and press send. If you are logged in you can select your team and do this even faster. Build and Upload. Please run dg deploy on the root directory of your Android or iOS project. By running this command, the project is built then uploaded to DeployGate. Or you can specify the.apk/.ipa file directly. $ dg deploy /path/to/app. Dg deploy has several options. For example, -message for adding a description of the build. The users who have recently upgraded from Windows 7/8 to 8.1 will notice that there are no ad hoc WI-Fi connections available in it. They will not find the user interface to set up their ad hoc connection in the Network and Sharing Center. It leaves the users in dismay because they do not expect the missing of some important features in Windows.
-->This document gives an overview of the Ad Hoc distribution techniques that are primarily used for testing an Xamarin.iOS applications with a wide group of people.
Once an Xamarin.iOS app has been developed, the next step in the software development lifecycle is to distribute the app to users for testing.
iTunes Connect is one option for managing app testing and is described more in the TestFlight guide. However, members of the Apple Developer Enterprise Program do not have access to iTunes connect, so Ad Hoc distribution is the best method of testing these apps.
Xamarin.iOS applications can be user-tested via ad hoc distribution, which is available on both the Apple Developer Program and the Apple Developer Enterprise Program, and allows up to 100 iOS devices to be tested.
Ad hoc distribution has the advantage of not requiring App Store approval, and it can be installed over-the-air from a web server, or via iTunes. It is, however, limited to 100 devices per membership year, for both development and distribution, and these must be manually added in the Member Center by their UDID. For more information on adding devices, visit the Device Provisioning guide.
Ad hoc distribution requires that applications be provisioned using an Ad Hoc provisioning profile containing code signing information, as well as the identity of the application and the devices that can install the application.
This guide will provide information on Provisioning for Ad Hoc distribution, and information on how to distribute a Xamarin.iOS app.
Setting Up for Distribution
Even if you plan to release a Xamarin.iOS application for In-House Deployment, for testing purposes, you'll need to build an Ad Hoc Distribution Provisioning Profile specific to it. This profile allows an application to be digitally signed for release so that it can be installed on an iOS device.
The next section will describe how to get set up with a Distribution Certificate and a Distribution Provisioning Profile.
Note
Only Team Agents and Admins can create Distribution Certificates and Provisioning Profiles.
Create a Distribution Certificate
- Browse to the Certificates, Identifiers & Profiles section of the Apple Developer Member Center.
- Under Certificates, select Production.
- Click the + button to create a new Certificate.
- Under the Production heading, select In-House and Ad Hoc, or App Store and Ad Hoc, depending on your program membership:
- Click Continue, and follow the instructions to create a Certificate Signing Request via Keychain Access:
- Once you have created the CSR as instructed, click Continue, and upload the CSR to the Member Center:
- Click Generate to create a certificate.
- Finally, Download the completed certificate and double-click on the file to install it.
- At this point, the certificate should be installed on the machine, but you may need to Refresh your profiles to ensure that they are visible in Xcode.
Alternatively, it is possible to request a Certificate via the Preferences dialog in Xcode. To do this, follow the steps below:
- Select your team, and click Manage Certificates…:
- Next, click the plus (+) button and select iOS App Store:
Create a Distribution Provisioning Profile
Create an App ID
As with any other Provisioning Profile you create, an App ID will be required to identify the App that will be distributed to the user's device. If you haven't already created this, follow the steps below to create one:
- In the Apple Developer Center browse to the Certificate, Identifiers and Profiles section. Select App IDs under Identifiers.
- Click the + button and provide a Name which will identify it in the Portal.
- The App prefix should be already set as your Team ID, and cannot be changed. Select either an Explicit or Wildcard App ID, and enter a Bundle ID in a reverse DNS format like:
- Explicit:
com.[DomainName].[AppName]
- Wildcard:
com.[DomainName].*
- Explicit:
- Select any App Services that your app requires.
- Click the Continue button and follow the on screen instructions to create the new App ID.
Once you have the required components needed for creating a Distribution Profile, follow the steps below to create it:
- Return to the Apple Provisioning Portal and select Provisioning > Distribution:
- Click the + button and select the type of Distribution Profile that you want to create as Ad-Hoc:
- Click the Continue button and select App ID from the dropdown list that you want to create a Distribution Profile for:
- Click the Continue button and select distribution certificate required to sign the application:
- Click the Continue button and enter a Name for the new Distribution Profile:
- Click the Generate button to create the new profile and finalize the process.
You may have to quit Visual Studio for Mac and have Xcode refresh its list of available Signing Identities and Provisioning Profiles (by following the instructions in the Downloading Profiles and Certificates in Xcode section) before a new Distribution Profile is available in Visual Studio for Mac.
You may have to quit Visual Studio and have Xcode (on the Build Host's Mac) refresh its list of available Signing Identities and Provisioning Profiles (by following the instructions in the Downloading Profiles and Certificates in Xcode section) before a new Distribution Profile is available in Visual Studio.
Selecting a Distribution Profile in a Xamarin.iOS Project
When you are ready to do a final build of a Xamarin.iOS application, select the Distribution Profile that was created above.
In Visual Studio for Mac, do the following:
- Double-click the project name in the Solution Explorer to open it for edit.
- Select iOS Bundle Signing and the type of build from the Configuration dropdown:
- In most cases, the Signing Identity and the Provisioning Profile can be left as a default values of Automatic and Visual Studio for Mac will choose the correct profile, based on the Bundle Identifier in the Info.plist:
- If required, select the Signing Identity and Distribution Profile (the one created above) from the drop-downs:
- Click the OK button to save the changes.
In Visual Studio, do the following:
- Right-click the project name in the Solution Explorer and select Properties to open it for edit.
- Select iOS Bundle Signing and the type of build from the Configuration dropdown:
- In most cases, the Signing Identity and the Provisioning Profile can be left as a default values of Automatic and Visual Studio will choose the correct profile, based on the Bundle Identifier in the Info.plist:
- If required, select the Signing Identity and Distribution Profile (the one created above) from the drop-downs:
- Save the changes to the project's Properties.
Ad Hoc Distribution
While TestFlight is a popular means of beta testing and distribution, it is part of iTunes Connect, and is therefore unavailable to members of the Apple Developer Enterprise Program.
Ad Hoc Distribution allows developers to beta test apps on a wide range of devices when iTunes connect is not an option. Ad-Hoc works in a similar way to In-House Distribution, and requires an IPA to be created, which can then be distributed either over-the-air, or manually via iTunes.
IPA Support for Ad Hoc Deployment
Once provisioned, applications can be packaged into a file known as an IPA. This is a zip file that contains the application, along with additional metadata and icons. The IPA is used to add an application locally into iTunes so that it can be synced directly to a device that is included in the provisioning profile.
Online midi keyboard test. For more information on creating an IPA,see IPA Support guide.
Summary
This article explained the Ad Hoc distribution mechanisms, which are required for testing Xamarin.iOS applications.
Related Links
While developing mobile apps, I find that hosting the respective ipa and apk files on my server is easier than emailing the files around to testers, clients, etc. This tutorial covers how to create a basic version of TestFlight – the popular over-the-air distribution platform for iOS apps.
![Hoc Hoc](https://image.winudf.com/v2/image1/Y29tLmFkYW1sZWJpLmFkaG9jX3NjcmVlbl82XzE1NDExOTMyMzhfMDQw/screen-6.jpg?fakeurl=1&type=.jpg)
This tutorial lets you distribute your iOS and Android apps without going through the Apple App Store or Google Play Stores, but there are some restrictions. For iOS, you need to know the id of the device you want to install the app on beforehand – this is known as the UDID. There are plenty of apps on the Apple App Store to get the UDID from a device. Your application must be compiled using the UDIDs saved in the Provision File – otherwise, your client, users, testers, etc. won’t be able to download or install the app.
Detecting the OS and Redirection
To start with, we need to create a PHP (or similar) file that will direct the user to the iOS or Android version of the app. This can be achieved by simply checking the User Agent of the browser and redirecting the user to the correct place. The code for the
index.php
file can be found below.Android App Download
For Android users, we simply need to redirect them to the apk file. The browser will let the user download and install the package, providing they have allowed installation of apps from “Unknown sources” (see Settings > Security > Device Administration on your Android device for details).
iOS App Download
Download an iOS app to a device is slightly more complicated than Android. You first need to get the device UDID from any devices you want to test your application on. This means getting them to use iTunes (or other means) to find their device UDID. Once you have the UDIDs, you need to add these to your Provisioning Portal and recompile your app using the updated Provisioning Profile.
The new ipa file you compile will be used to deploy the app to clients, testers etc. We’ve already taken care of redirecting to the iOS version in the PHP code, but we now need to create the plist file which has information about your app in it. You can see my example plist file below.
Ad Hoc Server Apk Pc
The plist should contain the following:
- software-package – url to the ipa file
- display-image – url to icon file (54 x 54)
- full-size-image – url to large image file (512 x 512)
- bundle-identifier – your application bundle ID
- bundle-version – app version number
- subtitle – subtitle for your app
- title – Name of your application
Once you have edited the plist file, upload everything to your server. Then, all you need to do is provide users, clients, testers, etc, a link to the folder that hosts all the above files.
Updating Your Applications
When you have a new build of your application to send to users / clients / testers, all you have to do is replace the existing ipa and apk files on your server with the new version. As long as the same certificates / credentials are used to sign the applications, the end-user will be able to overwrite the existing application on their device.
If installation fails, the previous application may need to be deleted before the new one can be installed. If the fails to install on iOS, you need to double check that the device was provisioned correctly via the Provisioning Portal, and that you are using the correct Provisioning Profile when compiling the app.
It is also recommended that your App is served over HTTPS. Some versions of iOS won’t allow the application to be installed unless it’s loaded over HTTPS. To achieve this, make sure all the URLs in the plist are using HTTPS.
The Code
View the code on Gist.
Download
Sql Server Ad Hoc Workloads
To make it easier for you to get started, you can download everything you need from here. The zip file contains the
index.php
file, my-app.plist
file and the two app icons required by iOS.Ad Hoc Servers
Screenshots
If you encounter any issues, please leave a comment below with any details you can provide. This is a tried and tested method that I’ve perfected over many applications. A iOS developer account is required to compile applications for devices.