AppleDeep LinkingDeveloper ToolsIndustry InsightsUniversal LinksUser Experience

Notice: Inconsistent Universal Link Behavior on iOS 11.2

By December 19, 2017 No Comments

Note that this behavior is still present on 11.2.5 beta.

Starting with iOS 11.2, you might notice some inconsistent behavior when deep linking into your app with Universal Links. It appears that a bug was pushed in this iOS version that can cause Universal Links to fail despite being properly configured. The problem is intermittent, so you may or may not be able to consistently reproduce it. We first noticed when our regression suite started to observe failures after the iOS 11.2 release, and thought that Apple would fix it in a subsequent patch. Unfortunately, there have been four minor patches released, and none have addressed the issue, so we thought it prudent to raise the issue publicly.

What broke in iOS 11.2?

If you recall, iOS uses the domain information from your Apple App Site Association (AASA) file to open apps with Universal links. When a given user installs your app, the AASA file is downloaded onto the user’s local storage, and is used to configure Universal Link routing when the user taps a link with a domain configured in the file. With iOS 11.2, we found that the AASA file is no longer downloaded reliably onto your user’s device after successful app install. As a result, if the file is not downloaded, clicking on Universal Links will no longer open the app.

We’ve reproduced this behavior with fresh installs, re-installs, and even testing installs from Xcode. If your Universal Links do fail to open the app on install, you can try removing the app, restarting the device, reinstalling the app, and giving the OS roughly 30-60 seconds. If not, well… rinse and repeat. Obviously, this is not a recommendation you can give to the users you just worked so hard to acquire.

What can you do?

Fortunately, with Branch links, you can completely recover from this problem with $uri_redirect_mode, which allows you to specify opening the app with URI schemes. You can set uri_redirect_mode to 1 or 2 on your Branch links, and we will work to intelligently detect whether the user has the app, and will then open it with URI schemes rather than relying on Universal Links.

Read more about our findings on iOS 11.2’s Universal Links behavior on the bug report we filed with Apple, and upvote if you’ve run into the same issue. We’d appreciate the community support to alert Apple of the issue, and to ensure it is addressed with haste.

Questions? Email us at integrations@branch.io, and we’ll be glad to help!

Branch is a mobile linking platform providing unified mobile experiences and measurement for more than 27,000 mobile apps, including Airbnb, Slack, Reddit, Tinder and Amazon. Branch’s free linking platform can help you grow your mobile app through features like deep linking, sharing, referrals, mobile banners and interstitials, custom app onboarding, and unified attribution across platforms and channels. Learn more about Branch.