从另一个进程卸载我的插件

时间:2011-01-27 17:32:57

标签: cocoa plugins dock nsbundle

我正在为我的应用程序添加NSDockTilePlugIn,但我遇到了一些奇怪的行为 - 可理解的行为,但我想知道是否有办法绕过它。

当我从dmg运行我的应用程序或在Dock中保留(dmg版本)应用程序时,Dock会加载我的.docktileplugin包。
当应用程序退出时,插件会收到setDockTile:消息,其中包含nil NSDockTile *(根据文档)。但是,插件一直在运行,我不能弹出(卸载,分离)dmg,除非我杀死Dock(我想退出也会起作用)。

我尝试通过NSDistributedNotificaitonCenter(来自应用程序的非dmg版本)发送通知以告诉它卸载,但是控制台告诉我现在我已经加载了两个相同的docktileplugin,并且未定义哪一个将执行 即使[[NSBundle bundleWithPath:...] unload]返回YES,我仍然无法弹出dmg。

0 个答案:

没有答案