iOS: Disable Swizzling

FlareRain iOS SDK uses Method Swizzling to replace the required method implementation for push notification operation at runtime with its own. As a result, it is possible to achieve a more streamlined integration by eliminating the need for a complicated implementation process.

However, if you want to use it with other push services, you need to disable swizzling so that all services can share the original method. Disabling swizzling requires adding some code.

But don't worry! We have created all 1:1 correspondence methods so that you can integrate very easily. Follow this guide step by step to disable Method Swizzling.

1. Required Steps

Familiarize yourself with the tasks required to disable Method Swizzling. Just add 5 lines!

  1. Update SDK version 1.1.0 or higher

  2. Add FlareLaneSwizzlingEnabled: false to Info.plist

  3. Add 1 method to AppDelegate

  4. Add 2 methods to UNUserNotificationCenter

  5. Add 2 methods to UNNotificationServiceExtension

2. Add a property to Info.plist

After selecting the target project in Xcode, go to Info -> Custom iOS Target Properties -> Add Row

Key: FlareLaneSwizzlingEnabled

Value: 'NO' with Boolean Type

4. Update AppDelegate

  1. application(:didRegisterForRemoteNotificationsWithDeviceToken:)

5. Update UNUserNotificationCenter

  1. Set a delegate of UNUserNotificationCenterDelegate to your AppDelegate

  2. userNotificationCenter(:willPresent:withCompletionHandler:)

  3. userNotificationCenter(:didReceive:withCompletionHandler:)

6. Update UNNotificationServiceExtension

  1. didReceive(:withContentHandler:)

  2. serviceExtensionTimeWillExpire()

Last updated