I want to develop Safari plugin using xCode, What API should I use? Someone can give me some documents or sample codes ,Thanks very much!
Share
Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.
Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Please briefly explain why you feel this question should be reported.
Please briefly explain why you feel this answer should be reported.
Please briefly explain why you feel this user should be reported.
The answer is rather complicated i’m afraid.
Unfortunately, Safari the web browser does not have a plugin API. That means you technically cannot extend Safari’s user interface or features using plugins.
However, WebKit the web rendering engine (which powers Safari and many other browsers/apps) does have a plugin API (actually it has 2) which allows you to create plugins for rendering web content inside webkit webviews.
You can find documentation on developing WebKit plugins in Apple’s docs here. (PDF Link!)
Also note: Safari’s lack of a true plugin API has not stopped lots of developers from developing various pieces of software which they call “Safari plugins” even tho they are technically not Safari plugins. They are usually something called an “Input Manager” which are widely viewed as rather questionable pieces of software. Input Managers always seem to be on the cusp of becoming unsupported or broken by Apple. It’s not really clear whether Input Managers are kosher with Apple or not.
Then again, several “Safari plugin” Input Managers are quite popular, so….
Input Managers are a whole other topic. I’m sure if you google it you can find a lot of information on them. However, personally I would advise against developing an Input Manager due to their questionable status in the Mac software world and their constant danger of becoming unsupported or badly broken.
Update: A few years after I originally answered this question, Apple did provide a sort of plug-in API for the Safari browser itself. However, they are called “Extensions”, not plug-ins.
See the Apple Safari Extension Programming Guide for details.