Runt8
Runt8

Reputation: 611

Organizational Licensing

We are getting ready to release the iOS version of our application in the app store. The current model is a free, limited functionality base version with additional functionality unlocked with an in-app purchase or, alternatively, with a code that the customer received when they purchased the software on a different platform.

However, we also have institutional customers who purchase site licenses directly from us and are given access to our software on all of our supported platforms (Windows, macOS, etc). Once the iOS version is released, we also want to allow them to install it to their iOS devices using their current MDM system.

In the Microsoft store we were able to distribute a signed license file to the organizations IT group, who was then able to include that file with the app when it was pushed out to their devices. The license file contained the domain identifier for the organization, so the device had to be connected to their domain in order to be able to run the application. Is there something similar in iOS for devices that are managed by an organization (i.e. an identifier that apps can access that says if they are being managed by a specific organization)? And can MDM systems specify a file or other data that is included with an app?

As a second potential option, I see in App Store Connect we can specify specific organizations to give the app to. I suppose we could create a second, free, unlocked version of the app that only specific organizations can access. However, it seems like a bit of a nightmare to manage long term (especially when it comes to things like time limited site licenses). Apple's documentation says that this options is only available before the app is approved. Does that mean that organizations can't be added or removed at will once the app has been released?

Any guidance on how to handle this situation would be greatly appreciated!

Upvotes: 0

Views: 65

Answers (1)

Paulw11
Paulw11

Reputation: 114865

Most major MDM solutions support the AppConfig.org standards that allow you to distribute an XML file as part of a managed configuration. This XML file can be read through UserPreferences.

Presumably you could supply your license as a base 64 encoded cryptographic object that the client could add to the managed configuration. Your app can then check for this value, decode it and provide the appropriate functionality.

Upvotes: 1

Related Questions