ios 根据 schemes 打开 app

时间:2023-12-15 09:23:08

公司出需求,要让 h5链接直接打开用户的 app,如果没有安装 app 直接跳转到 appStore

这就需要给 app 配置 schemes 即可

1、在Info.plist中 LSApplicationQueriesSchemes 添加自己的 scheme

ios 根据 schemes 打开 app

2、往下面滚动,还是 Info.plist里的 URL Types 里面配置自己的 scheme

ios 根据 schemes 打开 app

1和2的 schemes 写一直就好,Identifier 写自己app 的 Identifier 即可。

这这里已经可以在h5链接中打开app 了,但是如果你还想要在打开之后跳到指定页面,或者其他操作:

3(可选)、在下面方法里统一加判断

    // 添加系统回调方法
func application(_application: UIApplication, open url: URL, sourceApplication: String?, annotation: AnyObject) -> Bool {
return self.handleOpenUrl(url)
} func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool {
return self.handleOpenUrl(url)
} func application(_ application: UIApplication, handleOpen url: URL) -> Bool {
return self.handleOpenUrl(url)
} func application(_ application: UIApplication, open url: URL, sourceApplication: String?, annotation: Any) -> Bool {
return self.handleOpenUrl(url)
} /// 其他程序打开自己
func handleOpenUrl(_ url: URL) -> Bool {
let urlString = url.absoluteString
// 根据 urlString 在这里做支付或者其他打开 app 之后的操作return true
}

最后提醒,scheme最好都是小写,因为 url.absoluteString 不区分大小写的。