Safari Extension的自动更新阻止在Safari库中发布扩展

时间:2012-11-06 13:42:29

标签: safari-extension automatic-updates

我正在尝试将Safari扩展程序上传到图库。每次我这样做,都会在等待几天后收到错误消息

  

在我们的审核过程中,我们发现您仍未启用自动   更新您的扩展程序。

酷!但我完全根据docs做到了。当我提交ext时,我提到了这个URL:http://up.thefreedictionary.com/Info.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>dictionary</string>
<key>Developer Identifier</key>
<string>SZ9T8BXLWC</string>
<key>CFBundleVersion</key>
<string>1</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>URL</key>
<string>
http://up.thefreedictionary.com/TheFreeDictionary.safariextz
</string>
</dict>
</array>
</dict>
</plist>

不知道,这里可能有什么不妥。为什么我不能发布它,没有自动更新?

P.S。 CFBuldleIdentifier是“字典”。它对应我的应用包ID。 有问题吗?

3 个答案:

答案 0 :(得分:1)

文档页面说:

  • 创建一个带有.plist文件扩展名的文本文件并将其放在Web服务器上
  • 在Extension Builder
  • 的Update Manifest字段中包含文件的URL

我假设你做了第二步。

对于CFBundleIdentifier,它应遵循反向DNS格式,如here所述:

  

捆绑ID字符串必须是统一类型标识符(UTI),其仅包含字母数字(A-Z,a-z,0-9),连字符( - )和句点(。)字符。该字符串也应采用反向DNS格式。例如,如果您公司的域名是Ajax.com并且您创建了名为Hello的应用程序,则可以将字符串com.Ajax.Hello指定为应用程序的包标识符。

文档中的示例使用com.yourCompany.safari.firstExtensionName作为标识符。但我不认为“safari”必须出现在标识符中。

答案 1 :(得分:1)

我找到了它!

问题是我没有在info.plist中提到update.plist的URL(这是扩展的一部分)。我简单不知道,我必须。我在提交表单中提到了这个URL,并且预计这已经足够了。

我检查了文档,它确实说“在Extension Builder的Update Manifest字段中包含文件的URL”。如果只是它说:“将文件的URL添加到您的info.plist,这是您的扩展的一部分”我肯定会这样做。但是,一旦我个人没有开发扩展(我将这项工作交给我团队中的另一位程序员),我就把“Extension Builder”与提交表单混淆了。

答案 2 :(得分:0)

您的Update.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.canisbos.ccnotepad</string>
            <key>Developer Identifier</key>
            <string>ZANVZTSER6</string>
            <key>CFBundleVersion</key>
            <string>104</string>
            <key>CFBundleShortVersionString</key>
            <string>1.0.4</string>
            <key>URL</key>
            <string>http://dl.dropbox.com/u/23990/Canisbos/ccNotepad.safariextz</string>
        </dict>
    </array>
</dict>
</plist>

您似乎错过了顶部的XML和DOCTYPE声明,但更重要的是,与CFBundleIdentifier键配对的字符串不正确。它必须与Info.plist中的相同,并且它可能不是“字典”。

编辑:我刚刚注意到你似乎已将文件命名为Info.plist,它应该是Update.plist - 虽然我不确定这是否是必需的。

相关问题