iOS - 控制“$App 想要打开 $Another App”对话框
Posted
技术标签:
【中文标题】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 想要打开 $Another App”对话框的主要内容,如果未能解决你的问题,请参考以下文章
树莓派点灯笔记(论如何学好控制IO输出)(人脸识别IO控制)