ios11 – 尝试在iOS 11上使用tel://方案拨打电话号码时提示

我正在面临一个问题,同时尝试使用我的iOS应用程序启动电话:

UIApplication open(_:options:completionHandler 🙂

iOS通过两个按钮Call& amp;显示启动通话前的确认弹出/提示.根据iOS 10中的按钮操作,使用具有true / false的Bool参数调用Cancel和CompletionHandler.

但是现在在iOS11中,问题是在点击确认弹出窗口的“取消”或“呼叫”按钮之前会自动调用completionHandler,总是具有真正的价值.

这是iOS11中的错误还是我做错了什么?

最佳答案 在iOS 11中调用闭包时有一个行为更改.我不能说这个行为是否会被还原或者这是一个错误.

但是,您可以确定用户何时与弹出窗口交互的方法之一是在openURL()的完成闭包中围绕UIApplicationDidBecomeActive添加通知侦听器.要确定是否单击了呼叫,您需要在CTCallCenter上创建另一个自定义通知和侦听器.这是我能够识别它的最佳方式,但可能有更好的解决方案:D

点赞