If you migrate an older version of the SDK to install it, review the list of changed components. Update names and locations of components to prevent or resolve build errors caused by the differences between SDK versions.

Samples present the old version of the code followed by the current code.

Component Sample Code

AWController start

In the previous SDK you called awcontroller.start() within the applicationDidBecomeActive method.

In the current SDK, start the SDK within the didFinishLaunchingWithOptions method inside your application delegate class.

You will get inconsistent UI behaviors from the SDK if you do not make this change.

                              	///5.9.X Implementation
                              	func applicationDidBecomeActive(_ application: UIApplication) 
                              	let awc = AWController.clientInstance()
                              	awc.delegate = self
                              	awc.callbackScheme = "myAppName"
                              		awc.start()
                              	}
                              
                              
                              
                           
                              	///Swift version Implementation
                              	func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions:
                              [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
                              	let awc = AWController.clientInstance()
                              	awc.delegate = self
                              	awc.callbackScheme = "myAppName"
                              	awc.start()
                              	return true
                              }
                              
                              
                              
                              
                           

CanhandleProtectionSpace (Integrated Authentication)

Update the code for authentication challenges and chain validation.

                              	///5.9.X Implementation
                              	try AWController.clientInstance().canHandle(challenge.protectionsSpace)
                              
                              
                              
                              
                           
                              	///Swift version Implementation
                              	try AWController.clientInstance().canHandle(protectionsSpace: challenge.protectionsSpace
                              )
                              
                              
                              
                           

AWLog singleton (Logging)

Use this instead of the AWController to send logs.

                              	///5.9.X Implementation
                              	AWLog.sharedInstance().sendApplicationLogs(success, errorName)
                              
                              
                              
                              
                           
                              	///Swift version Implementation
                              	AWController.clientInstance().sendLogDataWithCompletion { (success, error)
                              	}
                              
                              
                              
                              
                           

Network status

Update the front of the enum to AWSDK.

                              	///5.9.X Implementation
                              	AWNetworkActivityStatus
                              
                              
                              
                           
                              
                              	///Swift version Implementation
                              	AWSDK.NetworkActivityStatus
                              
                              
                              
                           

Profiles and profile payloads

Drop the AW from the front of profiles.

                              	///5.9.X Implementation
                              	AWProfile
                              
                              
                              
                              
                           
                              	///Swift version Implementation
                              	Profile
                              
                              
                              
                              
                           
Custom settings

Access custom settings through AWController instead of AWCommanManager.

                              	///5.9.X Implementation
                              	AWCommandManager().sdkProfile().customPayload
                              
                              
                              
                              
                           
                              	///Swift version Implementation
                              	AWController.clientInstance().sdkProfile()?.customPayload
                              
                              
                              
                              
                           

Account object

The account object is now a property on AWController instead of an accessor method.

This property returns default, empty values for SAML and token enrollment.

                              	///5.9.X Implementation
                              	AWController.clientInstance().account()
                              
                              
                              
                              
                           
                              	///Swift version Implementation
                              	AWController.clientInstance().account
                              
                              
                              
                              
                           
User credentials
                              	///5.9.X Implementation
                              	AWController.clientInstance().updateUserCredentials(completions: 	{ (success, error)
                              in {
                              		...
                              	} )
                              
                              
                              
                              
                           
                              	///Swift version Implementation
                              	AWController.clientInstance().updateUserCredentials(with:	{ (success, error) in {
                              		...
                              	})
                              
                              
                              
                              
                           
OpenInURL calls
                              	///5.9.X Implementation
                              	AWController.clientInstance().handleOpen(url,
                              					fromApplication: sourceApplication)
                              
                              
                              
                              
                           
                              	///Swift version Implementation
                              	AWController.clientInstance().handleOpenURL(url,
                              					fromApplication: sourceApplication)
                              
                              
                              
                              
                           

DeviceInformationController

Replace MDMInformationController with DeviceInformationController.

NA

Manually load commands

Use an API on AWController to force commands to reload instead of using the command manager.

                              	///5.9.X Implementation
                              	AWCommandHandler.sharedHandler().loadCommands()
                              
                              
                              
                           
                              	///Swift version Implementation
                              	AWController.clientInstance().loadCommands()