- 29 Apr 2025
- 1 Minute to read
- Print
- DarkLight
- PDF
Integrate the iOS SDK API for the Automatic Configuration Update
- Updated on 29 Apr 2025
- 1 Minute to read
- Print
- DarkLight
- PDF
For conceptual information about this feature, see Integration of the Automatic Configuration Update.
Integration of the iOS SDK API
First, add the ShieldSDK.xcframework bundle from the App Shielding package to your iOS project.
You can then use the ShieldConfig class with the following methods:
Methods for ShieldConfig class | |
Method | Description |
---|---|
requestUpdate | Triggers App Shielding to download a configuration update. |
setUpdateCustomId: | Sets the X-update-custom-id header for configuration requests. The provided NSData is stored and used for any future request to the server. |
setUpdateCallbacks: | Registers a listener that is invoked whenever the app downloads a configuration update. The callback receives a time stamp value that reflects the embedded time stamp from the downloaded configuration. |
The following example demonstrates how these methods can be used:
[ShieldConfig requestUpdate]; [ShieldConfig setUpdateCustomId:[NSData dataWithBytes:"my-token" length:8]];
For callbacks, you can start with the ConfigUpdateCallbacks interface.
Objective-C example
@interface ConfigUpdateCallbacks : NSObject <ShieldConfigUpdateCallbacks>
@end
@implementation ConfigUpdateCallbacks
- (void)configUpdateReceived:(NSString *)timestamp
{
// handle callback logic
...
}
@end
During the app initialization (e.g., in didFinishLaunchingWithOptions), call the setUpdateCallbacks method in the following manner:
[ShieldConfig setUpdateCallbacks:[[ConfigUpdateCallbacks alloc] init]];
Swift example
If you are using Swift instead of Objective-C, you can set up the callback as follows:
class ConfigUpdateCallbacks: NSObject, ShieldConfigUpdateCallbacks { func configUpdateReceived(_ timestamp: String) { // handle callback logic ... } } ... ShieldConfig.setUpdateCallbacks(ConfigUpdateCallbacks())
You should be aware that the downloaded new configuration is not applied immediately, but only after an application is restarted.