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
Test Deferred Deep Link
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.
- Enable NativeLink™ Deferred Deep linking
- Ensure the app is uninstalled from your device
- Click a Branch Link
- If you enabled NativeLink™ correctly (either through the Branch Dashboard or by adding
$ios_nativelink=true
on the Branch Link as a query parameter (ex. branch.app.link/abc?$ios_nativelink=true)) then it should route you to the deepview to download the app. DO NOT DOWNLOAD THE APP FROM HERE
- If you enabled NativeLink™ correctly (either through the Branch Dashboard or by adding
- Manually launch the app from Xcode
You should be routed to the correct content within your app if you configured deep-linked routing properly (ex. URL, URI Schema, key/value pair).
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 thelive key
- Add before
initSession
Initialize Branch - Update
branch_key
in yourInfo.plist
to a dictionary (example) - The
test key
of your app must match thetest key
of your deep link - Remove before releasing to production
Branch.setUseTestBranchKey(true)
[Branch setUseTestBranchKey:YES];
Sample Applications
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.
App Indexing Validator
Use our validator to determine if your app and site are properly configured for App Indexing.
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.
Updated 5 months ago