Просто не могу понять, что не так с этим webView, он просто остается пустым, без ошибок. Если я попробую без параметра идентификатора видео и просто «https://www.apple.com», это сработает. Любые идеи?
import UIKit
import WebKit
class VideoPlayerVC: UIViewController, WKUIDelegate {
@IBOutlet weak var webview2: WKWebView!
var videoId: String?
override func viewDidLoad() {
//test video id, this prints the booty workouts id on youtube!This target also opens on youtube the id on the end of this url: https://thewikihow.com/video_695PN9xaEhs
if let videoId = videoId {
print(videoId)
}
webview2.load(URLRequest(url: URL(fileURLWithPath: "https://thewikihow.com/video_\(videoId)")))
}
}
Я думаю, вы не получаете идентификатор видео
да, я распечатываю его, и он дает правильное значение. Проверьте комментарий в коде, идентификатор видео: 695PN9xaEhs
@ PatrikRikama-Hinnenberg, вы должны! он будет добавлен как необязательный ("695PN9xaEhs") в URL-адрес видео, создайте строковый URL-адрес и распечатайте его перед передачей в URL-адрес
@Sh_Khan да теперь я вижу, что он печатает необязательно! Хм. как сохранить развернутое значение перед его повторным использованием?
Почему вы используете URL(fileURLWithPath:), когда явно вводите сетевой URL-адрес для этого инициализатора? Вместо этого просто используйте URL(string:).
@ DávidPásztor Спасибо, хороший вопрос :) начал с самого начала, и теперь я понял.
// testunwrapp videoID и testprint url if let videoId = videoId {print (videoId)} let targetURL = "(baseURL) (videoId!)" print (targetURL) // загрузить webView let url = URL (string: "(targetURL)" ) let request = URLRequest (url: url!) self.webview2.load (запрос)
@ DávidPásztor Спасибо, не знаю, как проголосовать за вас, ребята, но мое приложение теперь работает :)





Ваш идентификатор работает нормально:
override func viewDidLoad() {
super.viewDidLoad()
let webView = WKWebView(frame: CGRect(x: 0, y: 0, width: self.view.frame.size.width, height: self.view.frame.size.height))
self.view.addSubview(webView)
let url = URL(string: "https://thewikihow.com/video_695PN9xaEhs")
webView.load(URLRequest(url: url!))
}
Спасибо, да, работает, но не с добавленным параметром. Похоже, мы рядом, но все еще далеко =) Вы, ребята, правы, это все еще идентификатор видео, который кажется необязательным. Как я могу сохранить развернутый идентификатор в новую переменную и использовать его в добавленном запросе @Sh_Khan
У меня есть tableview в предыдущем контроллере и videoId, предоставленный этим контроллером. Пользователь выбирает видео, и поэтому идентификатор необходим и создается в этом VideoPlayerViewController и добавляется к базовому URL-адресу: youtube.com/watch?v= \
ДА! @JogendarChoudhary Это также работает с параметром! Спасибо !
Проголосовал за это, но похоже, что моя плохая репутация не влияет на ответы на голосование!
Большое спасибо. Это помогает мне (:
В моем случае я пытался загрузить сайт HTTP вместо HTTPS. Первоначально он ничего не загружал, но когда я использовал HTTPS, сайт загружался должным образом.
Какой у вас идентификатор видео