
在上面的图片中,您可以在OS上看到两个通知,第一个来自我的应用程序,第二个来自苹果的Reminders.app。在图像中,您可以看到otherButtonTitle‘完全’和actionButtonTitle‘稍后’。
第二个通知(即来自Reminders.app的通知)的行为非常不同。它会得到这个指向鼠标向下的小箭头,指示点击时会有更多的动作。事实上,你只需要点击一次‘稍后’,它会给你更多的选择。
但是,我无法获得相同的行为来处理我的通知。我没有得到鼠标上的小箭头,我没有得到更多的选项显示在一个‘稍后’(通知只是被驳回)。更多的选项只有在按住“稍后”上的鼠标按钮时才会显示,这一点并不明显。
我是不是漏掉了什么明显的东西?如何才能使我的通知与来自Reminders.app的通知完全相同?
发布于 2015-12-07 15:27:37
在试图找到相同问题的解决方案时,我发现了NSUserNotificationPrivate类的一个很好的解释,它解释了提醒应用程序是如何做到的。
https://github.com/indragiek/NSUserNotificationPrivate
如果通知类型设置为"Alert",则alternateActionButtonTitles属性允许您设置要在动作菜单中显示的附加菜单项标题数组,可以通过悬停在“操作”按钮上并单击箭头来访问该菜单。
一旦处理通知,就可以使用_alternateActionIndex属性检索操作的索引。
因此,他们使用的是私有API。正如该网站的免责声明所述,使用其中任何一种都会导致应用程序被MAS拒绝,如果API发生变化,可能会破坏应用程序。
https://stackoverflow.com/questions/33631218
复制相似问题