We need some direction on configuration of native iOS app for AXA via MDM settings.
One of our applications is using MDM for auto deploy. However, when they do the deploy with AxA flag enabled with the AXA settings (Profile/base/upload URLS) the SDK is still trying to use the plist file.
This is a native iOS app. This is the first ENV/app we’ll be using this type of configuration. we are using DX AxA SAAS.
We tested with the prod MDM settings and the non-prod plist file under the project support files and the data was sent to non-prod tenant. If we remove the file completely then we had a build error and had a unsupported URL when we kept the cameo plist empty that’s how we deduced that the SDK was using the plist instead of the MDM settings.
Release : SAAS
Component : CA APP EXPERIENCE ANALYTICS SAAS
The officially supported configuration (without the use of plist file):
We already documented this in the SDK header file CAMDOReporter.h as well as in online document.
For iOS, we have an option to initialize the SDK with configuration details without adding the _camdo.plist file in the project as we have declared in CAMDOReporter.h file.
/**
* Initializes the SDK.
* This call should be made as early as possible in the application life cycle.
* Typically, it is made at the beginning of didFinishLaunchingWithOptions in the Application delegate class
*
* @param options of the type SDKOptions
* @param configDetails This should be of the type NSDictionary. This should be the content of the CAMAA plist
* @param completionBlock is a standard (BOOL completed, NSError *error)block
*
* Successful execution of the method will have completed as YES and the error object is nil
* In case of failure, completed is set to NO and error will have an NSError object with
* domain, code and localizedDescription.
*/
+ (void) initializeSDKWithOptions:(SDKOptions) options configDetails:(NSDictionary *)configDetails completionHandler:(void(^)(BOOL completed, NSError *error)) completionBlock;
You can get the config details from MDM settings and pass that dictionary to this API.