Сделал PWA хочется его засунуть внутрь iOS приложения, однако опыта в создании таких приложений нет.
С помощью гугла и документации Apple для разработчиков удалось создать простенькое приложение.
Мой сайт это приложение открывает. Также выполнил ряд подготовительных мероприятий, чтобы при клике на ссылке на сайт открывалось приложение.
Проблема в том, что открывается только заранее "захардкоженная" главная страница, а хочется, чтобы открывалась именно ссылка, на которую пользователь хочет перейти.
Вопрос:
1) Если приложение еще не запущено: Как сделать так, чтобы при клике на ссылке приложение запускалось и открывало нужную страницу сайта?
2) Если приложение уже запущено: Как сделать так, чтобы при клике на ссылке приложение открывало нужную страницу сайта?
Просьба помочь ссылками или куском кода. Нагугленные варианты оказались сложны для понимания так как это самое первое приложение и я впервые вижу swift и xcode )
Мой ViewController:
import UIKit
import WebKit
class ViewController: UIViewController, WKUIDelegate {
var webView: WKWebView!
override func loadView() {
let webConfiguration = WKWebViewConfiguration()
webView = WKWebView(frame: .zero, configuration: webConfiguration)
webView.uiDelegate = self
view = webView
}
override func viewDidLoad() {
super.viewDidLoad()
let myURL = URL(string:"https://my-pwa-site.com/web/")
let myRequest = URLRequest(url: myURL!)
webView.load(myRequest)
}
}
Мой AppDelegate:
import UIKit
@main
class AppDelegate: UIResponder, UIApplicationDelegate {
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
// Override point for customization after application launch.
return true
}
// MARK: UISceneSession Lifecycle
func application(_ application: UIApplication, configurationForConnecting connectingSceneSession: UISceneSession, options: UIScene.ConnectionOptions) -> UISceneConfiguration {
// Called when a new scene session is being created.
// Use this method to select a configuration to create the new scene with.
return UISceneConfiguration(name: "Default Configuration", sessionRole: connectingSceneSession.role)
}
func application(_ application: UIApplication, didDiscardSceneSessions sceneSessions: Set<UISceneSession>) {
// Called when the user discards a scene session.
// If any sessions were discarded while the application was not running, this will be called shortly after application:didFinishLaunchingWithOptions.
// Use this method to release any resources that were specific to the discarded scenes, as they will not return.
}
}