Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
更新Safari扩展?_Safari_Plist_Manifest - Fatal编程技术网

更新Safari扩展?

更新Safari扩展?,safari,plist,manifest,Safari,Plist,Manifest,我正在编写一个简单的Safari扩展,并试图找出如何使更新机制工作。苹果在这里的文档非常模糊: 这是我的清单,基于这些文件: <?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"> <

我正在编写一个简单的Safari扩展,并试图找出如何使更新机制工作。苹果在这里的文档非常模糊:

这是我的清单,基于这些文件:

<?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>

扩展更新
CbundleIdentifier
net.rickyromero.safari.shutup
团队标识符
TMM5P68287
循环流化床锅炉
1.
CbundleShortVersionString
1
统一资源定位地址
http://rickyromero.net/misc/SafariExtensions/ShutUp.safariextz

例如,我不知道从哪里获得“YourCertificCateID”。当我增加CbundLeverVersion和CbundleShortVersionString的值时,它不会触发更新。我知道Safari正在访问我的清单,因为我正在监视HTTP流量。

团队标识符
应该是
开发人员标识符


开发者标识符取自Extension Builder窗口顶部的字符串,
Safari开发者:(开发者标识符)电子邮件类似问题。Safari会看到更新(我已将更新设置为手动),但在检测到更新时单击install按钮不会执行任何操作。如果我选中“自动安装更新”,则更新过程开始并完成,但未安装新版本。我可以看到Web服务器的流量,因此我知道已发出请求

编辑: 固定的!存储扩展的web目录上的权限错误,已修复此问题,并手动和自动安装。每次我重建扩展并保存到我的web服务文件夹时,我都必须设置权限

第二次编辑:
如果您想查看现有扩展,请下载它或从Safari extensions文件夹获取它,然后将.safariextz更改为.xar,然后使用Pacifist打开/提取以查看代码,如果您想将其添加到extension Builder应用程序中。

我也遇到了同样的问题,PLIST文件与上面的文件类似,下面是我解决问题的方法:

  • 开发人员标识符不正确(使用5而不是Z)。哼
  • 权限,在每次更新文件时都是rest权限:

    chmod 0444 EXTENSIONNAME.safariextz


    • 也有同样的问题,权限也是我的问题。.safariextz文件可以通过我主页上的直接链接下载,但在Safari将其作为自动更新下载之前,我必须将其权限设置为服务器上的a+x。

      只是尝试更改它,但不幸的是它没有做到。。。当我增加版本号时,它仍然不会提示更新。这是我的清单,它似乎确实起作用。开发者标识符取自Extension Builder窗口顶部的字符串,
      Safari开发者:(开发者标识符)电子邮件
      我尝试的另一件事是用Property List Editor.app打开文件,检查它是否为有效的.plist,尽管这对您来说似乎不是问题。好的,谢谢您的帮助。我仔细检查了一下,我的识别码不匹配。。。现在应该可以正常工作了。:-)/me文件一个文档错误报告…您好,您会在safari扩展中提到这个*.plist文件(用于更新safari扩展的aml文件)URL吗?我们在info.plist文件中提到了吗?