2010-06-09 132 views
9

我正在寫一個簡單的Safari擴展,我想弄清楚如何讓更新機制工作。蘋果的文檔在這裏是令人高興的含糊:更新Safari擴展?

https://developer.apple.com/library/safari/documentation/Tools/Conceptual/SafariExtensionGuide/UpdatingExtensions/UpdatingExtensions.html

這是我的清單,根據該文件:

<?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流量。

徹底難住。任何想法,傢伙?

回答

6

Team Identifier應該Developer Identifier

的開發者標識符是從字符串在擴展生成器窗口的頂部取出,Safari Developer: (DEVELOPER_IDENTIFIER) EMAIL

+0

只是試圖改變這一點,但不幸的是它沒有這樣做......當我增加版本號時它仍然不會提示更新。 – 2010-06-10 01:58:02

+0

這是我的清單,它似乎工作 http://matsadler.github.com/deanimator/updates。plist中 的開發者標識符是從字符串在擴展生成器窗口,'的頂部取出Safari開發:(DEVELOPER_IDENTIFIER)EMAIL' 我試過被打開文件,屬性列表Editor.app另外要檢查這是一個有效的.plist,儘管這對你來說似乎沒有問題。 – matsadler 2010-06-10 07:09:40

+0

好的,謝謝你的幫助。我仔細檢查了一下,我的標識符不匹配......現在應該工作得很好。 :-) – 2010-06-10 07:45:40

1

類似的問題。 Safari會看到更新(我已將更新設置爲手動),但在檢測到更新時單擊安裝按鈕不會執行任何操作。如果我然後檢查「自動安裝更新」,則更新過程開始並完成,但未安裝新版本。我可以看到網絡服務器的流量,所以我知道已經有一個請求。編號: 已修復!權限在存儲擴展名的Web目錄上是錯誤的,修正了這個問題,並且手動和自動安裝。每次我重建擴展名並保存到我的Web服務文件夾我必須設置權限。

2日編輯: 如果你想看看現有的延伸,下載或從Safari擴展得到它的文件夾,然後更改.safariextz到所有.xar然後打開/與和平主義者提取查看代碼,如果你想將其添加到Extension Builder應用程序。

1

我有同樣的問題,plist文件是像上面的,這裏是我如何解決我的問題:

  • 有一個不正確開發者標識符(有5而不是Z)。咄!
  • 權限,這是休息每次更新文件:

    搭配chmod 0444 EXTENSIONNAME.safariextz

0

剛剛有同樣的問題,和權限對我來說這個問題了。 .safariextz文件通過我的主頁上的直接鏈接正常下載,但我必須在服務器上將其權限設置爲+ x,然後Safari纔會將其作爲自動更新下載。