iOS Troubleshooting
Validate if AASA file successfully downloaded
- Connect a test device to your MAC
- Uninstall the app
- View the device's console output in the MAC console
- Install your app and let it launch
- Filter the console output by "swcd"
- If the AASA downloaded sucessfully, you'll see something like the screenshot below (If the AASA did not download, you must uninstall the app, restart the device, and then reinstall the app)

App not Opening
- Double check Integrate Branch
- Investigate if the device disabled universal links (Re-enable universal linking)
- Investigate if it is a link related issue (Deep links do not open app)
- Use Universal links validator
- Use AASA validator
- Use Test deep link
App not Passing Data
- See if issue is related to App not opening
- Investigate Branch console logs (Enable logging)
Deep Links are Long
- Happens whenever the app cannot make a connection to the Branch servers
- The long deep links will still open the app and pass data
Deferred Deep Linking not Working
- It is possible that you have not enabled NativeLink™. That will cause deferred deep linking to not work on iOS 15+ devices on Private Relay
- To implement iOS NativeLink™, follow the instructions in our developer documentation.
Testing Steps:
- Click a one-off Branch Link where "$ios_nativelink"=true is set in the link parameters.
- Using a device on iOS 15+, uninstall the app from your device.
- Click the Branch Link from Apple Notes and have it route through Safari.
- Click the call-to-action and ensure that the link is copied to the iOS clipboard.
- Install or build the new app version directly from XCode.
Expected Behavior:
- Upon link redirect to the App Store, the user sees the new NativeLink experience.
- When the app opens, the user should see a notification that the app has pasted from the clipboard
- The API call to api2.branch.io/v1/open or v1/install should include a new parameter called "local_url".
Track Content Properties
- Used for Track content
Key | Value |
---|---|
BNCRegisterViewEvent | User viewed the object |
BNCAddToWishlistEvent | User added the object to their wishlist |
BNCAddToCartEvent | User added object to cart |
BNCPurchaseInitiatedEvent | User started to check out |
BNCPurchasedEvent | User purchased the item |
BNCShareInitiatedEvent | User started to share the object |
BNCShareCompletedEvent | User completed a share |
Re-enable Universal Linking
- Apple allows users to disable universal linking on a per app per device level on iOS 9 and iOS 10 (fixed in iOS 11)
- Use Test deep link to re-enable universal linking on the device
Deep Link Routing with a Branch ViewController
- Add before
initSession
Initialize Branch - Recommend to Navigate to content instead
Branch.getInstance().registerDeepLinkController(ViewController(), forKey: "my-key", withPresentation: .optionShow)
[[Branch getInstance] registerDeepLinkController:customViewController forKey:@"my-key"withPresentation:BNCViewControllerOptionShow];
Determine if Deep Link is From Branch Without Network
- Use for Universal Linking if you want to get the
true/false
response fromBranch.getInstance().continue(userActivity)
withincontinueUserActivity
without a Branch network call - Use only if you have a custom link domain
- Add
branch_universal_link_domains
to yourinfo.plist
with an array of your link domain from your Branch Dashboard

Updated 4 months ago