我正在尝试将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。 有问题吗?
答案 0 :(得分:1)
文档页面说:
我假设你做了第二步。
对于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 - 虽然我不确定这是否是必需的。