我正在编写一个简单的Safari扩展,我正在试图找出如何使更新机制正常工作。 Apple的文档令人愉快地模糊:
这是我的清单,基于该文档:
<?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>net.rickyromero.safari.shutup</string>
<key>Team Identifier</key>
<string>TMM5P68287</string>
<key>CFBundleVersion</key>
<string>1</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>URL</key>
<string>http://rickyromero.net/misc/SafariExtensions/ShutUp.safariextz</string>
</dict>
</array>
</dict>
</plist>
我不知道从哪里获得“YourCertifcateID”,例如。当我增加CFBundleVersion和CFBundleShortVersionString的值时,它不会触发更新。我知道Safari正在打击我的清单,因为我正在观看HTTP流量。
Team Identifier
应该是Developer Identifier
Developer Identifier取自Extension Builder窗口顶部的字符串Safari Developer: (DEVELOPER_IDENTIFIER) EMAIL
类似的问题。 Safari看到更新(我已将更新设置为手动)但在检测到更新时单击安装按钮不会执行任何操作。如果我然后选中“自动安装更新”,则更新过程开始并完成,但未安装新版本。我可以看到网络服务器的流量,所以我知道已经提出了请求。
编辑:修复!存储扩展名的Web目录上的权限是错误的,修复此问题并手动和自动安装。每次我重建扩展并保存到我的Web服务文件夹时,我必须设置权限。
第二次编辑:如果你想查看一个现有的扩展,下载它或从你的Safari扩展文件夹中获取它,然后将.safariextz更改为.xar然后用Pacifist打开/解压缩以查看代码,如果你想将它添加到扩展名生成器应用。
我有同样的问题,PLIST文件就像上面的那个,这是我如何解决我的问题:
刚出现同样的问题,权限也是我的问题。 .safariextz文件通过我主页上的直接链接下载得很好,但我必须在服务器将其下载为自动更新之前将其权限设置为服务器上的+ x。