Troubleshooting - Debugging

Forcing invite/survey display

It is possible to force the display of an invite or survey regardless of the current criteria fulfillment:

To display an invite, call [ForeSee showInviteForSurveyID:@"<YOUR_SURVEY_ID>"];

To display a survey, call [ForeSee showSurveyForSurveyID:@"<YOUR_SURVEY_ID>"];

Resetting state

The SDK state persists across launches and may appear to behave inconsistently. This may be because it is not currently in an active state. The Trigger module isn’t in an active state if the user has either declined the invitation or completed the survey. You can force the Trigger module back to an active state like so:

[ForeSee resetState];


You can enable logging like so:

[ForeSee setDebugLogEnabled:YES];

With debug logging enabled, you can see useful information regarding state and state transitions in the XCode console.

Pooling Check

As mentioned in the Sampling section, when the SDK is determining whether or not the user is eligible to be invited to a survey, a pooling check is performed by sending an HTTP request to the ForeSee servers. If the user is in the sampling pool, then the invitation is presented. While instrumenting the app, it may be desirable to disable the pooling check to ensure that the invitation shows if-and-only-if the Trigger criteria for a measure has been fulfilled. You can do this by messaging the following method:

[ForeSee setSkipPoolingCheck:YES];

Other articles in this section:

  1. Debugging (current article)
  2. Disabling the SDK
  3. Common Problems