Safari plugin development

2019-03-16 13:20发布

问题:

I want to develop a Safari plugin using Xcode, and I want to access the bookmarks. What API should I use?

Since I'm asking, are there any tutorials out there for plugin development under Safari?

回答1:

Safari plugins are well-supported, both for the Netscape-style NSAPI and the 'native' Cocoa plugins. There are dozens, if not hundreds, of official Safari plugins.

However, not everything you might want to do is possible through plugins. I'm not clear if accessing bookmarks is possible.

There are lots of other docs on Safari plugins at the Safari Dev Center and Reference Library, including WebKit Plug-In Programming Topics.



回答2:

Safari 5 allows to create extensions in a similar way of what Google Chrome allows. See Safari Extensions Development Guide: About Safari Extensions.

On Mac OS X Lion, the WebKit plug-in API is not compatible with the new process architecture adopted in Mac OS X Lion, and it is being deprecated. Plug-in developers currently using the WebKit plug-in API are recommended to adopt the Netscape plug-in API in order to be compatible with Safari on Mac OS X v10.7.



回答3:

Since you want to write a plugin for Safari, you might also be interested in reading about developing plugins for webkit.



回答4:

There is no documented or Apple-supported way to create plug-ins for Safari.

That hasn't stopped many people creating add-ons, as you can see by browsing through Pimp My Safari.

Many of the plug-ins use SIMBL to load themselves into Safari, after which you can mess around with Safari's insides to do whatever you want. See the Armchair Guide To Cocoa Reverse Engineering.

One thing is for sure—it won't be a walk in the park!

Good luck =]