2009-09-23 68 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