您不必在应用程序中添加其他应用程序的方案。如果你这样做,你的应用程序将成为该方案的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