Использование Схема URL
Схема URL позволяет вам определять собственный протокол, чтобы другие приложения могли взаимодействовать с вашим приложением. Чтобы другие приложения могли взаимодействовать с вашим приложением, вы должны создать URL-адрес с соответствующим форматом и добавить поддержку в ваше приложение. Для реализации схемы URL вы должны указать системе открыть ее в вашем приложении и обработать входящий URL в вашем приложении. Эта схема URL выглядит как другая схема URL, например http://, ftp: //, mailto: //, tel: // и т. Д. Вы можете создать свой собственный протокол URL, например yourapp: // open-home-page. Любое приложение может открыть ваше приложение по этой схеме, вызвав openURL. Например, если ваш пользовательский URL-адрес - yourapp: //, то следующий код откроет ваше приложение:
let appUrl = URL(string: "youapp://page-to-open")
UIApplication.shared.openURL(appUrl!)
Зарегистрируйте свой пользовательский URL
Чтобы зарегистрировать свое приложение для поддержки схемы URL, вы должны включить ключ CFBundleURLTypes в файл Info.plist . Этот ключ будет иметь массив словаря со следующими ключами:
- CFBundleURLName : Это строка, содержащая абстрактное имя схемы URL.
CFBundleURLSchemes : Это массив, содержащий имена схем URL.
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLName</key>
<string>com.yourapp</string>
<key>CFBundleURLSchemes</key>
<array>
<string>yourapp</string>
</array>
</dict>
</array>
Обработка запроса URL
Когда любое приложение запрашивает ваш пользовательский URL, ваше приложение должно обрабатывать URL, чтобы открыть соответствующий контент. При любом запросе на ваш пользовательский URL-адрес будет вызываться приложение-метод AppDelegate (_: open: options :), поэтому вы должны реализовать этот метод в своем AppDelegate. См. Следующий фрагмент кода
func application(_ app: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any] = [:]) -> Bool {
print(url)
// Take decision according to URL
return true
}
Если ваше приложение не запущено (Killed), то оно сначала запустит ваше приложение, а затем вызовет метод open url.
введите ссылку для более подробного описанияО глубоких и универсальных ссылках