UIApplication.shared.open (_ url: URL и т. Д.) Ничего не открывает - PullRequest
0 голосов
/ 25 октября 2018

Я добавил «instagram» в мои LSApplicationQueriesSchemes в файле Info.plist, но он по-прежнему не открывает ни safari, ни instagram, когда вызывается следующая функция:

func openinstagram () {
    let instaurl = URL(fileURLWithPath: "https://www.instagram.com/(myusername)/?hl=de")
    if UIApplication.shared.canOpenURL(instaurl) {
        UIApplication.shared.open(instaurl, options: [:] ) { (sucess) in
            print("url opened")
        }
    }
}

Это не такскажите мне что-нибудь, кроме "URL-адрес открыт" в журнале

Какое решение для этого?Заранее спасибо

Ответы [ 2 ]

0 голосов
/ 25 октября 2018

Вы можете попробовать это.

URL(fileURLWithPath:) использовать для получения файла, начинающегося с /

URL(string:), это создать веб-URL

func openinstagram () {
    if let instaurl = URL(string: "https://www.instagram.com/(myusername)/?hl=de"),
        UIApplication.shared.canOpenURL(instaurl) {

        if #available(iOS 10.0, *) {
            UIApplication.shared.open(instaurl)
        } else {
            UIApplication.shared.openURL(instaurl)
        }
    }
}
0 голосов
/ 25 октября 2018

Вы используете неправильный API

  • URL(fileURLWithPath для URL файловой системы, начинающихся с /
  • URL(string для URL, начинающихся со схемы (https://, file://)

И интерполяция строки myusername выглядит неправильно (отсутствует обратная косая черта и лишняя косая черта перед знаком вопроса).

    if let instaurl = URL(string: "https://www.instagram.com/\(myusername)?hl=de"),
       UIApplication.shared.canOpenURL(instaurl) { ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...