Mat*_*off 7 iphone notifications objective-c uikit ios
我正在编写一个iOS应用程序,当操作系统决定显示像这样的横幅通知时,我想暂停我的应用程序的动作内容:

是否有一个NSNotification我可以观察的系统或一个被调用的方法,我可以对此作出反应?我试过了applicationWillResignActive,但在这种情况下没有调用.
今天早上我尝试了一下,我倾向于说没有可用的公共 API。
我尝试使用此处概述的代码,但没有收到任何通知。然后,我进行了一系列“测试”,看看是否能找到任何东西。
为了进行测试,我创建了一对应用程序,一个用于安排通知(GitHub 链接),另一个用于尝试“捕获”通知(GitHub 链接)。在我的 Sender 应用程序中,我可以每 N 秒发送 N 个通知。我挑选了一些任意高价值并发送它们。
在我的捕手中,我尝试查看图层层次结构中上下的visibleRect值。(keyWindow位于一个层中,但它是超级视图,超级层.委托都是零)我没有检查约束,但这应该不重要。我查看了应用程序的窗口,它是零超级视图,它是图层,它是子视图。应用程序的边界也不受影响。该应用程序的沙盒化程度非常好,以至于该应用程序的世界中不存在跳板和通知中心。
我开始走上访问私有框架的道路,但认为这不值得付出努力。
我打开了 Instruments 并查看了视图的透明度级别。(是否可以强制层次结构中的所有视图都是不透明的,然后用它来查看横幅是否阻挡了某些东西?如果它是透明的,也许它不是“阻挡”?)
我还尝试截取屏幕截图,并检查屏幕顶部区域的颜色,但这不起作用,因为您需要将视图传递到上下文中。即使它可以工作,它的性能也不会特别好。
我的另一个想法是监听推送端口上的推送通知,但我怀疑苹果是否会允许你捕获另一个应用程序的通知。作为一名开发人员,我不会在警报中发送私人信息,但这仍然是一个问题。
事实上,通知横幅并不会真正导致您的应用程序变得不活动,因此我不确定这种行为是否错误。如果方便的话,请提交错误。请求怎么样DeviceWillShowNotificationNotification?
| 归档时间: |
|
| 查看次数: |
565 次 |
| 最近记录: |