Developers
To troubleshoot issues with the mParticle iOS SDK, first rule out basic configuration issues:
If your app hasn’t crashed, but you aren’t seeing data being forwarded to an output properly, double-check the following areas:
If none of these steps helps you correct the issue, then you may need to debug your app with breakpoints.
Confirm that the kit is initialized before the necessary event is triggered. If specific kit methods are manually called, errors will show in console if the kit is not initialized. If using the standard flow, confirm the kit is initialized if you are not seeing a specific event flowing downstream.
options.logLevel = MPILogLevel.verbose
.
MParticle.sharedInstance().isKitActive(KitConstant number)
. If the kit is active, true
is returned. This method can be placed anywhere in your app.Confirm that the integration is working properly:
If you are troubleshooting for issues other than initialization and basic data flow, set up breakpoints to isolate code execution step-by-step.
Before setting breakpoints, however, it is helpful to review the kit code to identify where you might need to place breakpoints. For example, if you are diagnosing custom events issues, you don’t need to put breakpoints in functions that call commerce events.
To set breakpoints:
In the Xcode Workspace for your app, in the file directory go to Pods > Pods to see the code base for each kit you have added to your app.
If you need more help with troubleshooting, see the following resources:
If you want to use proxy tools such as Charles Proxy, you may need to turn off mParticle SSL pinning in your development build.
Example SDK initialization code (step 1.2). The third line disables pinning:
let options = MParticleOptions(key: "API-KEY", secret: "API-SECRET")
options.environment = MPEnvironment.development
options.networkOptions.pinningDisabledInDevelopment = true
MParticle.sharedInstance().start(with: options)
MParticleOptions *options = [MParticleOptions optionsWithKey:@"API-KEY" secret:@"API-SECRET"];
options.environment = MPEnvironmentDevelopment;
options.networkOptions.pinningDisabledInDevelopment = YES;
[MParticle.sharedInstance startWithOptions:options];
Was this page helpful?