2009-09-23 66 views
0

好的,现在我想在safari菜单栏中添加一个菜单。我在Xcode中创建一个Cocoa bundle项目,然后更改目标扩展名为“webplugin”。然后将WebPluginMIMETypesFilename com.example.webplugin.plist 添加到info.plist.but但我不知道是正确的吗?我让主题类是我的主要插件类SafariPlug。然后在safariPlug.m中实现方法:如何调试主要的SafariPlugIn项目?

//此方法返回一个符合WebPlugIn非正式协议的NSView对象。

  • (的NSView *)plugInViewWithArguments:(的NSDictionary *)参数

{

return [[[self alloc] initWithArguments:arguments] autorelease]; 

}

  • (ID)initWithArguments:(的NSDictionary *)参数

{

self = [super init];

if (self) 
    [MenuController sharedController]; // trigger the menu items to be added 

return self; 

}

末我跟着网址:run safari to debug plunIn project

添加调试包:myProject.webplugin到该文件夹​​:/库/互联网插件/
但当我做一个断点到

  • (*的NSView)plugInViewWithArguments:(NSDictionary的*)参数

该程序没有在调试模式下加载? SomeOne有经验可以告诉我一个菜单添加到safari的步骤?非常感谢你!

回答

4

除非加载引用插件的网页,否则Safari不会加载您的插件。所以恐怕你正在使用的插件类型不被官方支持,由Safari的当前插件API提供。

您可以使用SIBML来编写这种插件。但是SIMBL并不是苹果公司正式支持的东西,许多人认为它是黑客。

+0

现在我想用simbl做一个safari插件,我已经阅读了可可逆向工程的扶手椅指南。但是执行方法时 - (void)加载;如何使用插件获取safari DOM对象,就像PIC或Flash URL一样?非常感谢你 ! – jin 2009-10-23 06:56:22