Skip to the page

Configure your apps

iOS

Team ID, bundle ID, Associated Domains and Universal Links.

iOS opens your app from a link (a Universal Link) when your app declares the host in its Associated Domains and the host serves an apple-app-site-association file that names your app. Beck Links serves that file; you give it your Team ID and bundle ID and add the capability to the app.

1. Enter the app in the dashboard#

In the environment you are setting up, open Applications, then iOS:

FieldValue
Bundle IDFor example com.acme.shop
Apple Team IDThe 10-character ID from your Apple developer account (Membership details)
App Store IDThe numeric ID of the App Store listing, for the store fallback
Custom scheme (optional)For the "Open in app" button on pages shown in in-app browsers
Pasteboard deferred linkingOn by default; the app also opts in (deferred links on iOS)

Beck Links serves /.well-known/apple-app-site-association on your link hosts, with <Team ID>.<bundle ID> as the app ID.

2. Add Associated Domains in Xcode#

Open ios/Runner.xcworkspace, select the Runner target, Signing and Capabilities, + Capability, Associated Domains, and add your hosts:

XML

Check that Debug, Profile and Release all use the entitlements file and that your App ID has Associated Domains enabled in the developer account. For development builds, appending ?mode=developer to a host (applinks:acme-test.becklinks.com?mode=developer) skips Apple's CDN cache; it needs Developer Mode on the phone.

3. Turn off Flutter's own deep linking#

So Flutter's router does not handle the same URL a second time, set in ios/Runner/Info.plist:

XML

4. Raise the deployment target#

The SDK needs iOS 15. Set Minimum Deployments to 15.0 in Xcode; for CocoaPods apps also uncomment platform :ios, '15.0' in ios/Podfile.

Verify it works#

Bash

Expect 200 application/json, no redirect, and your app ID in applinks.details. Then paste a link into Notes or Messages and tap it.