iOS一个app打开另一个app
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS一个app打开另一个app相关的知识,希望对你有一定的参考价值。
参考技术A 判断本机是否安装之后通过OpenURL直接打开就可以
具体的identifier 和 URL Schemes可以查看下图
注意 是在被打开的app中设置这两个参数
iOS - 控制“$App 想要打开 $Another App”对话框
【中文标题】iOS - 控制“$App 想要打开 $Another App”对话框【英文标题】:iOS - Control over "$App wants to open $Another App" dialogiOS - 控制“$App 想要打开 $Another App”对话框 【发布时间】:2021-01-21 18:21:36 【问题描述】:在我的应用程序中,我具有用户可以打开另一个应用程序的功能,我们将其称为“App2”。如果设备上不存在 App2,则用户将出现我创建的应用不可用警报,我们将其称为 Alert1。
但是,如果设备上存在 App2 并且用户尝试打开它,则会显示 Apple 的“$App 想要打开 App2”对话框。如果用户在此单击“取消”,回调将执行我的代码以显示 Alert1。
我不希望我的应用在用户单击 Apple 对话框上的“取消”时显示 Alert1。有没有办法控制苹果的对话框?
下面是我的代码:
if let url = urlComponents.url
UIApplication.shared.open(url, completionHandler: success in
if !success
showAppNotAvailableAlert(url.absoluteString, actionLabel: action.label)
)
return
【问题讨论】:
【参考方案1】:试试
if let url = urlComponents.url
if UIApplication.shared.canOpenURL(url)
UIApplication.shared.open(url, completionHandler: didURLOpen in
if !didURLOpen
debugPrint("User pressed cancel button")
)
else
showAppNotAvailableAlert(url.absoluteString, actionLabel: action.label)
return
想法是使用canOpenURL
检查应用程序是否存在,如果存在则尝试打开应用程序并在完成块中处理错误
【讨论】:
你根本不需要返回这里:) 我被其他一些方法搞砸了,对不起。你的回答很好。这是一个小的改进 - 将“成功”更改为“urlWasOpened”之类的内容 - 它将更具可读性和清晰性。以上是关于iOS一个app打开另一个app的主要内容,如果未能解决你的问题,请参考以下文章
iOS 一个app跳转另一个app并实现通信(如A跳到B并打开B中指定页面)