*App Delegate
Provided methods included sdk to app lifecycle and garantee background correct work.
Objective-c
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[[RPPermissionsWizard returnInstance] launchWithFinish:^(BOOL showWizzard) {
[RPEntry initializeWithRequestingPermissions:YES]; // Yes, if you don’t want to implement requesting by yourself
[RPEntry instance].disableTracking = NO;
[RPEntry application:application didFinishLaunchingWithOptions:launchOptions];
}];
}
Swift:
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
RPPermissionsWizard.returnInstance().launch(finish: { _ in
RPEntry.initialize(withRequestingPermissions: true)
let token = NSString(string: "Please, enter your Token")
RPEntry.instance().virtualDeviceToken = token
let options = launchOptions ?? [:]
RPEntry.application(application, didFinishLaunchingWithOptions: options)
})
return true
}
Implement AppDelegate methods
Objective-c:
- (void)application:(UIApplication *)application handleEventsForBackgroundURLSession:(nonnull NSString *)identifier completionHandler:(nonnull void (^)(void))completionHandler {
[RPEntry application:application handleEventsForBackgroundURLSession:identifier completionHandler:completionHandler];
}
- (void)applicationDidReceiveMemoryWarning:(UIApplication *)application {
[RPEntry applicationDidReceiveMemoryWarning:application];
}
- (void)applicationWillTerminate:(UIApplication *)application {
[RPEntry applicationWillTerminate:application];
}
- (void)applicationDidEnterBackground:(UIApplication *)application {
[RPEntry applicationDidEnterBackground:application];
}
- (void)applicationDidBecomeActive:(UIApplication *)application {
[RPEntry applicationDidBecomeActive:application];
}
- (void)application:(UIApplication *)application performFetchWithCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler {
[RPEntry application:application performFetchWithCompletionHandler:^{
completionHandler(UIBackgroundFetchResultNewData);
}];
}
Swift:
func application(_ application: UIApplication, handleEventsForBackgroundURLSession identifier: String, completionHandler: @escaping () -> Void) {
RPEntry.application(application, handleEventsForBackgroundURLSession: identifier, completionHandler: completionHandler)
}
func applicationDidReceiveMemoryWarning(_ application: UIApplication) { RPEntry.applicationDidReceiveMemoryWarning(application)
}
func applicationWillTerminate(_ application: UIApplication) {
RPEntry.applicationWillTerminate(application)
}
func applicationDidEnterBackground(_ application: UIApplication) {
RPEntry.applicationDidEnterBackground(application)
}
func applicationDidBecomeActive(_ application: UIApplication) {
RPEntry.applicationDidBecomeActive(application)
}
func application(_ application: UIApplication, performFetchWithCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void) {
RPEntry.application(application) {
completionHandler(.newData)
}
}
Last updated