您不必在應用程序中添加其他應用程序的方案。如果你這樣做,你的應用程序將成爲該方案的URL響應者,並且始終如此。沒有標記
canOpenURL方法上documentation
爲廢棄我複製一個片段與我使用通過定製方案打開程序URL代碼的一部分...
/**
Abre los perfiles de la app en las distintas redes sociales.
- Parameters:
- url: Esquema personalizado de la app
- secondaryURL: Si la app no está presente en el dispositivo abrimos su version web (twitter, facebook, etc...)
*/
func open(_ url: String, secondaryURL: String? = nil) -> Void
{
if let url = URL(string: url), UIApplication.shared.canOpenURL(url)
{
UIApplication.shared.open(url, completionHandler: nil)
}
else if let secondaryURL = secondaryURL, let url = URL(string: secondaryURL), UIApplication.shared.canOpenURL(url)
{
UIApplication.shared.open(url, completionHandler: nil)
}
else
{
print("No se puede hacer nada de nada.\r\napp_url: \(url)")
}
}
下面是一個例子。我嘗試打開twitter應用程序,如果未顯示,請打開Safari並顯示twitter網頁。
@IBAction private func handleTwitterButtonTap(sender: UIButton) -> Void
{
let twitter_app_url: String = "twitter://user?screen_name=GetPomodoroApp"
let twitter_web_url: String = "https://twitter.com/GetPomodoroApp"
self.open(twitter_app_url, secondaryURL: twitter_web_url)
}
的可能的複製[的OpenURL:棄用iOS的10](http://stackoverflow.com/questions/39548010/openurl-deprecated-in-ios-10) – dmorrow
@dmorrow我正在解釋ios9的問題 – user2363025
'canOpenURL'不被棄用 – dan