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

App not Passing Data

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:

  1. Click a one-off Branch Link where "$ios_nativelink"=true is set in the link parameters.
  2. Using a device on iOS 15+, uninstall the app from your device.
  3. Click the Branch Link from Apple Notes and have it route through Safari.
  4. Click the call-to-action and ensure that the link is copied to the iOS clipboard.
  5. Install or build the new app version directly from XCode.

Expected Behavior:

  1. Upon link redirect to the App Store, the user sees the new NativeLink experience.
  2. When the app opens, the user should see a notification that the app has pasted from the clipboard
  3. The API call to or v1/install should include a new parameter called "local_url".

Track Content Properties

BNCRegisterViewEventUser viewed the object
BNCAddToWishlistEventUser added the object to their wishlist
BNCAddToCartEventUser added object to cart
BNCPurchaseInitiatedEventUser started to check out
BNCPurchasedEventUser purchased the item
BNCShareInitiatedEventUser started to share the object
BNCShareCompletedEventUser 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

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 from Branch.getInstance().continue(userActivity) within continueUserActivity without a Branch network call
  • Use only if you have a custom link domain
  • Add branch_universal_link_domains to your info.plist with an array of your link domain from your Branch Dashboard

Recommended Next Steps