App-specific configuration API details
The AppConnect for iOS API provides properties and methods that allow an app to receive app-specific configuration from the MobileIron server. For an overview of this feature, see Configuration specific to the app.
The config property
The read-only config property on the AppConnect singleton is an NSDictionary object. It contains the current key-value pairs for the app-specific configuration.
Whenever changes to the key-value pairs occur, the AppConnect library:
1. | updates the config property |
2. | calls the -appConnect:configChangedTo: method to provide your app the current configuration. |
When your app launches:
• | Get the singleton AppConnect object and call its -startWithLaunchOptions: method. |
• | Wait for the -appConnectIsReady: callback method before accessing the config property. |
• | After the -appConnectIsReady: callback method is called, check the value of the config property. It contains the key-value pairs, if any, that are configured on the MobileIron server for the app. If no key-value pairs are configured, the config property is an NSDictionary object with no entries. |
• | Apply the configuration according to your application’s requirements and logic. |
App-specific configuration methods
Your app uses the following methods to receive app-specific configuration updates and report how the app handled the updates.
The -appConnect:configChangedTo: callback method
You optionally implement this method, which is in the AppConnectDelegate protocol:
-(void) appConnect:(AppConnect *)appConnect configChangedTo:(NSDictionary *)newConfig;
Implement this method only if your app uses app-specific configuration key-value pairs that the MobileIron server administrator configures on the server Admin Portal.
When a change has occurred to the app-specific configuration on the MobileIron server, the AppConnect library:
1. | Sets the config property on the AppConnect object to the new NSDictionary value. |
2. | Calls the -appConnect:configChangedTo: method, which provides the new NSDictionary value in its parameter. |
Your app then:
• | applies the new configuration according to your application’s requirements and logic. |
• | calls the -configApplied:message: method. |
The -configApplied:message: acknowledgment method
After your app processes the information provided in the callback method, it must call this acknowledgment method on the AppConnect singleton:
-(void)configApplied:(ACPolicyState)policyState message:(NSString *)message;
Your app passes the following parameters to this method:
• | the ACPolicyState value that represents the success or failure of handling the app-specific configuration updates. |
Pass the value ACPOLICY_APPLIED if the app successfully handled the updates. Otherwise, pass the value ACPOLICY_ERROR. Pass the value ACPOLICY_UNSUPPORTED if your app does not support app-specific configuration. If you do not implement the -configApplied:message method, the AppConnect singleton behaves as if you passed it ACPOLICY_UNSUPPORTED.
• | an NSString explaining the ACPolicyState value. |
Typically, you use this string to report the reason the app failed to apply the app-specific configuration updates. The string is reported in the MobileIron server log files.