The current SDK supports iOS8 and above
Refer to sample project for queries regarding integration of MoEngage iOS SDK
Cocoapods is a dependency manager for Objective C & Swift projects and makes integration easier.
- If you don't have cocoapods installed, you can do it by executing the following line in your terminal.
sudo gem install cocoapods
- If you don't have a Podfile, create a plain text file named Podfile in the Xcode project directory with the following content, making sure to set the platform and version that matches your app.
- Install MoEngage SDK by executing the following in the Xcode project directory.
- Now, open your project workspace and check if MoEngage SDK is properly added.
To install manually, follow the steps below:
Download the latest sdk from the following link.
Add the MoEngage.framework file to your project.
Add the following compiler flag: -ObjC. Select your project. Go to “Build Settings” ->”Linker” ->”Other Linker Flags” and add this flag.
Simply add the MoEngage-iOS-SDK/MoEngage.h, in your bridging header and you will be good to go.
Here you will have to import the SDK by directly using an import statement as below:
If this doesn't work as well, make sure you have made changes to Podfile as mentioned in the CocoaPods section.
MoEngage SDK was distributed as static library till 3.9.2 and with the release of MoEngage iOS SDK 4.0.0, we have implemented the SDK as a dynamic framework. And also with version 4.0.0 and above, there are few changes which you will have to do in your project if you are migrating from SDK version 3.9.2 and below.
For SDK Version 3.9.2 and below the MoEngage SDK was being imported as shown below :
// For SDK version 3.9.2 and below // OR in ObjC bridging header
// For SDK version 3.9.2 and below import MoEngage_iOS_SDK
And now for SDK version 4.0.0 and above there are minor changes to import statement. Now import MoEngage as shown below :
The following methods have been deprecated with SDK version 4.0.0:
registerForRemoteNotificationWithCategories:andCategoriesForPreviousVersions:andWithUserNotificationCenterDelegate:method has been deprecated and now we have 2 separate methods for registering for remote notification. For more info refer this link
registerForPush:is deprecated and replaced with
setPushToken:as the method name was confused with the one provided for registering for push notification. Refer link for more info.
With SDK Version 4.0.0, we have removed the following application lifecycle callback methods, which were already deprecated in SDK version 3.3.0:
-(void)applicationBecameActiveinApplication:(UIApplication*)application; -(void)applicationWillEnterForeground:(UIApplication *)application; -(void)stop:(UIApplication *)application; -(void)applicationTerminated:(UIApplication*)application;
If you get an error because of the above methods, remove the function calls as SDK is internally handling the application lifecycle callbacks.
With the release of 4.0.0, the inbox module source files(
MOInboxExposedConstants.m) will no longer be exposed. For customizing the Notification Center UI use the methods provided in
Awesome, you are all set to use MoEngage now. Next we will see how to initialize MoEngage SDK and changes that are to be made to your AppDelegate file.