0

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

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

凉爽的!但我做到了,完全按照文档。当我提交 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>

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

PS CFBudleIdentifier 是“字典”。它对应于我的应用程序包 ID。有问题吗?

4

3 回答 3

1

文档页面说:

  • 创建一个带有 .plist 文件扩展名的文本文件并将其放在 Web 服务器上
  • 在扩展生成器的更新清单字段中包含文件的 URL

我假设你做了第二步。

至于 CFBundleIdentifier,它应该遵循反向 DNS 格式,如下所述

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

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

于 2012-11-12T17:20:14.640 回答
1

我找到了!

问题是我没有在 info.plist (这是扩展的一部分)中提到 update.plist 的 URL。我只是不知道,我必须这样做。我在提交表单中提到了这个 URL,并期望这就足够了。

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

于 2012-11-13T04:49:09.073 回答
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——尽管我不确定这是否是必需的。

于 2012-11-07T03:21:43.303 回答