{
	"id": "679be3c7-8e8c-4250-afba-75761239b5bf",
	"created_at": "2026-04-06T00:06:09.205284Z",
	"updated_at": "2026-04-10T03:20:41.066986Z",
	"deleted_at": null,
	"sha1_hash": "eedda8fef08029dde938252e8d74c715db91d69e",
	"title": "Allowing apps and websites to link to your content | Apple Developer Documentation",
	"llm_title": "",
	"authors": "",
	"file_creation_date": "0001-01-01T00:00:00Z",
	"file_modification_date": "0001-01-01T00:00:00Z",
	"file_size": 57492,
	"plain_text": "Allowing apps and websites to link to your content | Apple\r\nDeveloper Documentation\r\nArchived: 2026-04-05 14:14:24 UTC\r\nOverview\r\nYou can connect to content deep inside your app with universal links. Users open your app in a specified context,\r\nallowing them to accomplish their goals efficiently.\r\nWhen users tap or click a universal link, the system redirects the link directly to your app without routing through\r\nthe person’s default web browser or your website. In addition, because universal links are standard HTTP or\r\nHTTPS links, one URL works for both your website and your app. If the person hasn’t installed your app, the\r\nsystem opens the URL in their default web browser, allowing your website to handle it.\r\nWhen someone installs your app, the system checks a file stored on your web server to verify that your website\r\nallows your app to open URLs on its behalf. Only you can store this file on your server, securing the association of\r\nyour website and your app.\r\nSupport universal links\r\nTake the following steps to support universal links:\r\n1. Create a two-way association between your app and your website and specify the URLs that your app\r\nhandles, as described in Supporting associated domains.\r\n2. Update your app delegate to respond to the user activity object the system provides when a universal link\r\nroutes to your app, as described in Supporting universal links in your app.\r\nWith universal links, users open your app when they click links to your website within their browser app and\r\nWKWebView , and when they click links that result in a call to:\r\nopen(_:options:completionHandler:) in iOS and tvOS\r\nopenSystemURL(_:) in watchOS\r\nopen(_:withApplicationAt:configuration:completionHandler:) in macOS\r\nopenURL in SwiftUI\r\nWhen a user browses your website in Safari and taps a universal link in the same domain, the system opens that\r\nlink in Safari, respecting the user’s most likely intent to continue within the browser. If the user taps a universal\r\nlink in a different domain, the system opens the link in your app.\r\nCommunicate with other apps\r\nhttps://developer.apple.com/ios/universal-links/\r\nPage 1 of 3\n\nApps can communicate through universal links. Supporting universal links allows other apps to send small\r\namounts of data directly to your app without using a third-party server. \r\nDefine the parameters that your app handles within the URL query string. The following example code for a photo\r\nlibrary app specifies parameters that include the name of an album and the index of a photo to display.\r\nhttps://myphotoapp.example.com/albums?albumname=vacation\u0026index=1\r\nhttps://myphotoapp.example.com/albums?albumname=wedding\u0026index=17\r\nOther apps craft URLs based on your domain, path, and parameters and ask your app to open them by calling:\r\nThe open(_:options:completionHandler:) method of UIApplication in iOS and tvOS\r\nThe openSystemURL(_:) method of WKExtension in watchOS\r\nThe open(_:withApplicationAt:configuration:completionHandler:) method of NSWorkspace in\r\nmacOS\r\nThe openURL environment value in SwiftUI\r\nThe calling app can ask the system to inform it when your app opens the URL.\r\nIn this example code, an app calls your universal link in iOS and tvOS:\r\nif let appURL = URL(string: \"https://myphotoapp.example.com/albums?albumname=vacation\u0026index=1\") {\r\n UIApplication.shared.open(appURL) { success in\r\n if success {\r\n print(\"The URL was delivered successfully.\")\r\n } else {\r\n print(\"The URL failed to open.\")\r\n }\r\n }\r\n} else {\r\n print(\"Invalid URL specified.\")\r\n}\r\nIn this example code, an app calls your universal link in watchOS:\r\nif let appURL = URL(string: \"https://myphotoapp.example.com/albums?albumname=vacation\u0026index=1\") {\r\n WKExtension.shared().openSystemURL(appURL)\r\n} else {\r\n print(\"Invalid URL specified.\")\r\n}\r\nIn this example code, an app calls your universal link in macOS:\r\nhttps://developer.apple.com/ios/universal-links/\r\nPage 2 of 3\n\nif let appURL = URL(string: \"https://myphotoapp.example.com/albums?albumname=vacation\u0026index=1\") {\r\n let configuration = NSWorkspace.OpenConfiguration()\r\n NSWorkspace.shared.open(appURL, configuration: configuration) { (app, error) in\r\n guard error == nil else {\r\n print(\"The URL failed to open.\")\r\n return\r\n }\r\n print(\"The URL was delivered successfully.\")\r\n }\r\n} else {\r\n print(\"Invalid URL specified.\")\r\n}\r\nFor more information on handling links within your app, see Supporting universal links in your app.\r\nSource: https://developer.apple.com/ios/universal-links/\r\nhttps://developer.apple.com/ios/universal-links/\r\nPage 3 of 3",
	"extraction_quality": 1,
	"language": "EN",
	"sources": [
		"MITRE"
	],
	"references": [
		"https://developer.apple.com/ios/universal-links/"
	],
	"report_names": [
		"universal-links"
	],
	"threat_actors": [],
	"ts_created_at": 1775433969,
	"ts_updated_at": 1775791241,
	"ts_creation_date": 0,
	"ts_modification_date": 0,
	"files": {
		"pdf": "https://archive.orkl.eu/eedda8fef08029dde938252e8d74c715db91d69e.pdf",
		"text": "https://archive.orkl.eu/eedda8fef08029dde938252e8d74c715db91d69e.txt",
		"img": "https://archive.orkl.eu/eedda8fef08029dde938252e8d74c715db91d69e.jpg"
	}
}