Branch Deep link not opening application
<p>I have been trying (unsuccessfully) to use <a href="https://dev.branch.io/" rel="noreferrer">Branch</a> to implement deep linking into our iOS application. The Branch URL redirects directly to App Store and never attempts to open the application. I must be missing something.</p>
<p>What I've done:</p>
<ol>
<li><p>Included Branch SDK (CocoaPods) Added <code>branch_key</code> to application
plist</p>
</li>
<li><p>Added URL Scheme to URL Types in application plist</p>
</li>
<li><p>Enabled<code>Associated Domains</code> in both the project and the App ID in
the developer console.</p>
</li>
<li><p>Ensured that the entitlements file is included in the build.</p>
</li>
<li><p>Registered deep link handler in AppDelegate</p>
</li>
</ol>
<p>Dashboard: Settings -&gt; Link Settings:</p>
<ol>
<li><p>&quot;Always try to open app&quot; is checked</p>
</li>
<li><p>&quot;IOS URI Scheme&quot; is set to the application's custom URI scheme.</p>
</li>
<li><p>&quot;Enable Universal Links&quot; is checked.</p>
</li>
<li><p>Bundle Identifier &amp; Apple App Prefix are both set correctly.</p>
<p>Within the Branch Dashboard, under &quot;Marketing&quot; tab, I've created a single link. I'm emailing this link to myself and opening it on the device (Mail.app). Safari opens then the App Store is opened as if the application is not installed.</p>
</li>
</ol>
<p>Neither <code>application:openURL:sourceApplication:annotation</code> nor <code>application:continueUserActivity:restorationHandler</code> are called.</p>
<p>AppDelegate Methods:</p>
<pre><code>func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -&gt; Bool {
    let branch: Branch = Branch.getInstance()
    branch.initSessionWithLaunchOptions(launchOptions, andRegisterDeepLinkHandler: { params, error in
        if (error == nil) {
            // params are the deep linked params associated with the link that the user clicked -&gt; was re-directed to this app
            // params will be empty if no data found
            // ... insert custom logic here ...
            NSLog(&quot;params: %@&quot;, params.description)
        }
    })
    return true
}

func application(application: UIApplication, continueUserActivity userActivity: NSUserActivity, restorationHandler: ([AnyObject]?) -&gt; Void) -&gt; Bool {
    // pass the url to the handle deep link call
    
    return Branch.getInstance().continueUserActivity(userActivity)
}

func application(application: UIApplication, openURL url: NSURL, sourceApplication: String?, annotation: AnyObject) -&gt; Bool {
    // pass the url to the handle deep link call
    Branch.getInstance().handleDeepLink(url);
    
    // do other deep link routing for the Facebook SDK, Pinterest SDK, etc
    return true
}
</code></pre>
<p>Am I missing a configuration step? Is this because the application is installed via Xcode debug and not through the app store? I'm expecting to see the application delegate methods called, but they are not.</p>