iOS Testing

Test Deep Link

  • Create a deep link from the Branch Dashboard
    • Delete your app from the device
    • Compile and test on a device
    • Paste deep link in Apple Notes
    • Long press on the deep link (not 3D Touch)
    • Click Open in "APP_NAME" to open your app

📘

Testing deferred deep linking

Deferred deep linking is simply deep linking into an app that is not yet installed. Once the app is installed, the context is preserved and the user's first app-open will have the deep link data from the original Branch link. To test this, uninstall the app from your device, click the Branch link, and manually launch the app from Xcode. You should be routed to the correct content within your app.

Enable Logging

  • Use the Branch test key instead of the live key

  • Add before initSession Initialize Branch

  • Remove before releasing to production

Branch.getInstance().enableLogging()
[[Branch getInstance] enableLogging];
  • Make sure OS_ACTIVITY_MODE is not disabled (link)

Test your Branch Integration

Test your Branch Integration by calling validateSDKIntegration in your AppDelegate. Check your Xcode logs to make sure all the SDK Integration tests pass. Make sure to comment out or remove validateSDKIntegration in your production build.

Branch.getInstance().validateSDKIntegration()
[[Branch getInstance] validateSDKIntegration];

Use Test Key

  • Use the Branch test key instead of the live key

  • Add before initSession Initialize Branch

  • Update branch_key in your Info.plist to a dictionary (example)

  • The test key of your app must match the test key of your deep link

  • Remove before releasing to production

Branch.setUseTestBranchKey(true)
[Branch setUseTestBranchKey:YES];

Sample Apps

Simulate an Install

To ensure the SDK is setup correctly, you no longer need to simulate an install via the SDK itself. Instead, you can test functionality end to end by completing the following:

Test Deep Link Routing for Your Branch Links

Append ?bnc_validate=true to any of your app's Branch links and click it on your mobile device (not the Simulator!) to start the test. For instance, to validate a link like: "https://<yourapp\>.app.link/NdJ6nFzRbK" click on: "https://<yourapp\>.app.link/NdJ6nFzRbK?bnc_validate=true"

Domain AASA Validator

Use our validator to determine if your domain's AASA is properly configured for Universal Links.

Domain AASA Validator Tool

App Indexing Validator

Use our validator to determine if your app and site are properly configured for App Indexing.

App Indexing Validator Tool

Integration Status Tool

Shows the status of your Branch integration. For the best experience, we recommend that you complete all of the steps listed. If a specific platform is not relevant to you, please skip that section.

Integration Status Tool

Updated about a month ago


Recommended Next Steps

iOS SDK FAQs

iOS Testing


Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.