我正在为我的应用程序添加NSDockTilePlugIn
,但我遇到了一些奇怪的行为 - 可理解的行为,但我想知道是否有办法绕过它。
当我从dmg运行我的应用程序或在Dock中保留(dmg版本)应用程序时,Dock会加载我的.docktileplugin包。
当应用程序退出时,插件会收到setDockTile:
消息,其中包含nil
NSDockTile *
(根据文档)。但是,插件一直在运行,我不能弹出(卸载,分离)dmg,除非我杀死Dock(我想退出也会起作用)。
我尝试通过NSDistributedNotificaitonCenter
(来自应用程序的非dmg版本)发送通知以告诉它卸载,但是控制台告诉我现在我已经加载了两个相同的docktileplugin,并且未定义哪一个将执行
即使[[NSBundle bundleWithPath:...] unload]返回YES
,我仍然无法弹出dmg。