Internal App Deployment
Use Workspace ONE to distribute, track, and manage your internal applications. These are applications built in-house and not hosted on Public App Stores. You can upload the application files directly to AirWatch console for deployment. However, if you use an external repository to host your internal applications, then you can easily integrate that host with AirWatch, instead of migrating the entire catalog to AirWatch.
Supported File types for different platforms:
Platform | File Type |
---|---|
Android | APK |
iOS | IPA |
macOS | APP Package Bundles |
Windows Desktop | APPX, EXE, MSI, ZIP |
Windows Phone | APPX, XAP |
Once the application is installed, you can track the installation status and reason codes in case of failures.
1. Upload Internal Application with a Local File
In this section, we are going to add an iPA file to AirWatch console as an internal iOS app.
1.1. Add Internal Application
In the AirWatch console,
- Click on Add
- Click Internal Application
1.2. Upload
Click Upload
1.3. Choose File
Click Choose File
1.4. Navigate to the iPA file
- Click on Downloads
- Select AppLifecycle_101.ipa
- Click Open
1.5. Save
Click Save
1.6. Continue After Uploading IPA
Click Continue.
1.7. Application Details
- Notice how AirWatch can parse the Application bundle ID from the IPA File. All the application versioning within the AirWatch Console is based on the Application ID.
- Notice how AirWatch can also parse the Application Version number from the IPA File.
- Select Category Productivity (System)
- You can also change the minimum OS requirement to be able install this app. For this lab, we are going to keep this value to default iOS 9.0.0.
- Click on Save & Assign
Categories are useful to group the apps so that they are easy to find from the catalog.
Internal app version for iOS is determine by CFBundleVersion and CFBuildShortVersionString from info.plist
2. Add an Assignment to the Internal Application
We will now configure which devices will receive the internal application.
2.1. Add Assignment
Click Add Assignment
2.2. Add Delivery method
- All the assignments in AirWatch are done via Assignment Groups. These assignment groups can be created by specifying different filter criteria on your devices and/or users. For this lab we are going to select our default group All Devices
- Your App Delivery method can be Auto where the application is installed automatically to the enrolled device. However, for this lab, we are going to select On Demand to see how can we download these apps from Workspace One Catalog.
- You can also select the Deployment Begin Date for a particular app assignment. If you select a date in future, the app will not be available for download until that time. For this lab, we are going to keep the default value, which should reflect the current date.
2.3. Enable Remove on Unenroll
- Scroll down until you see the section Policies
- Select Enable for Remove on Unenroll
- Click on Add to continue.
By enabling this option, you are flagging this app to be removed when the device is un-enrolled after this lab is ended. We will have the same configuration for all the apps that we are going to deploy in this lab.
Enable this flag if you want to un-install the app so that the app data is not leaked when an employee leaves the organization or when the device is lost or stolen.
2.4. Save & Publish
Click on Save & Publish to continue.
2.5. Publish
Preview your device assignment and click Publish to continue.
3. Provisioning Profiles for Enterprise Distribution
- Click Apps & Books
- Expand Applications
- Click Native
- Click the Internal tab.
- Validate that you have the application uploaded with the name as AppLifecycle.
- In the Version column, you will see the version as 1.0.1
- In the column Renewal Date, you will see when the provisioning profile is going to expire for this particular app.
You can renew this provisioning profile from AirWatch console itself (via Application Details > Files menu), without having to rebuild and re-upload the app to the AirWatch console. This simplifies the recurring task of profile renewal, without any intervention from App Developer and any interruption on the end user devices.
For this lab, we are not going to renew the provisioning profile of this app.