2012-10-22 69 views
3

可能重複:
Programmatically open Mac App Store發送用戶的App Store更新OS X版本

我正在開發一個10.8.0+ OSX應用程序,我需要以編程方式顯示應用存儲供用戶更新他的操作系統,以便使用Facebook集成(僅當他不在10.8.2時)。
如何才能打開App Store到更新部分,或者類似的東西來做同樣的事情?

+0

你只是想打開應用程序存儲到應用程序的頁面來更新它?或到實際的更新部分? –

+5

我很懷疑第三方應用程序應該這樣做。操作系統已經具有用於檢查更新和通知的內置設置。 – bames53

+0

如果這是可能的,它可能會通過AppleScript公開。不幸的是,App Store的腳本字典僅包含樣板文件。充其量,你可以啓動應用程序本身。 – millimoose

回答

4

使用iTunes Link Maker你可以得到一個鏈接,打開蘋果的AppStore中的MacOS X 10.8頁(只需搜索 「OSX」 的 「Mac應用程序」 一節),像這樣的:

https://itunes.apple.com/us/app/os-x-mountain-lion/id537386512?mt=12&uo=4

不幸的是,直接使用這個鏈接會打開你的瀏覽器,它會要求用戶點擊一個按鈕來打開Mac AppStore中的頁面,但是在與這個按鈕關聯的JavaScript代碼中快速挖掘之後,很容易看到用"https://"替換"https://""macappstores://"直接打開Mac AppStore而不打開默認的我們b瀏覽器之前。

因此,在短期,使您的應用程序中打開下面的鏈接應該做的伎倆:

NSString* const kOSX8AppStoreURL = @"macappstores://itunes.apple.com/us/app/os-x-mountain-lion/id537386512?mt=12"; 
[[NSWorkspace sharedWorkspace] openURL:[NSURL URLWithString:kOSX8AppStoreURL]]; 

當然,這也開在AppStore的「OS X山獅」應用程序的頁面,而不是真的是Mac AppStore應用程序的「更新」選項卡,但我認爲這是您可以做的最好的選擇。


編輯:打開Mac AppStore中的「更新」選項卡

挖掘到被Mac AppStore的應用程序發送的請求,檢查更新(感謝一個人在The-後!中間代理和可信的CA證書,以吸引AppStore.app HTTPS請求,有的Base64編碼解碼),我終於找到了URL打開Mac App Store中的「更新」頁面!

所以這是網址我發現直接打開「更新」選項卡:

https://su.itunes.apple.com/WebObjects/MZSoftwareUpdate.woa/wa/viewSoftwareUpdate 

我測試了它到目前爲止並打開AppStore.app如果尚未打開,去更新選項卡,並開始搜索新更新的時候了:)

+0

我嘗試使用'[[NSWorkspace sharedWorkspace] openURL:[NSURL URLWithString:@「macappstores:/ /su.itunes.apple.com/WebObjects/MZSoftwareUpdate.woa/wa/viewSoftwareUpdate「]];'但它不起作用,在AppStore App上發生錯誤。 –

+0

那我的第一個鏈接呢?如果您嘗試在終端中使用「open」命令來打開URL,該怎麼辦? – AliSoftware

+2

看起來像「macappstore:// showUpdatesPage」的URL也可以。 –