创建一个简单的Safari扩展
之前做过一个把网址转为二维码的Chrome 扩展,想在 Safari 中也使用这样的扩展,搜索了一下貌似没有同类型的,所以自己打造了一个 Safari 扩展,并且把过程记录下来。 获得开发者证书 要建立一个 Safari 扩展,首先需要生成一个开发者证书。访问Apple 开发者中心,加入 Safari Developer Program,加入开发者计划是免费的。加入开发者计划后就可以生成证书了,访问Certificates, Identifiers & Profiles,点击右上角的加号,生成一个开发者证书。成功后将证书下载到本地并导入 Keychain Access 中。 在 Safari 中创建扩展 打开 Safari,在菜单中选择Safari—Preferences-Advanced,勾选最下方的Show Develop menu in menu bar,如图。 这时在菜单栏中会出现Develop菜单,选择Develope-Show Extension Builder,打开扩展编辑器,点击左下角的*+,选择New Extension*,保存到一个位置(例如 Desktop)。 这时,Desktop 文件夹中会出现一个demo.safariextension文件夹,这个文件夹里的内容就是我们生成的 Safari 扩展的根目录。如果前面的开发者证书已经正确导入,扩展的介绍里会出现 Safari 开发者的 Id。 编辑扩展基本信息 扩展建立后,下面会有一票东西需要填写,首先填写扩展的基本信息。 Display Name: 扩展的显示名称 Author: 作者名字 Description: 插件介绍 Website: 插件网站 Bundle Identifier: 这里需要填写唯一 id Update Manifest: 这里需要填写一个 plist 格式文件的地址,Apple 会定期检查这个地址中的 Version,如果有升级,就会访问插件的下载地址更新插件,当然,如果插件只是自用而不提交 Safari Extensions Gallery 的话,这一栏可以不填,plist 文件格式如下: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Extension Updates</key> <array> <dict> <key>CFBundleIdentifier</key> <string>com.zangzhiya.url2qrcode</string> <key>Developer Identifier</key> <string>开发者ID</string> <key>CFBundleVersion</key> <string>1</string> <key>CFBundleShortVersionString</key> <string>1.0</string> <key>URL</key> <string>http://simpleapples.com/images/url2qrcode-safari/url2qrcode.safariextz</string> </dict> </array> </dict> </plist> Access Level: 这里需要选择插件对页面访问的权限,比如我们我们要做的 URL 转二维码插件,需要获取当前 Tab 的 URL,那么这里需要选择 ALL ...