可能重複:
Programmatically open Mac App Store發送用戶的App Store更新OS X版本
我正在開發一個10.8.0+ OSX應用程序,我需要以編程方式顯示應用存儲供用戶更新他的操作系統,以便使用Facebook集成(僅當他不在10.8.2時)。
如何才能打開App Store到更新部分,或者類似的東西來做同樣的事情?
可能重複:
Programmatically open Mac App Store發送用戶的App Store更新OS X版本
我正在開發一個10.8.0+ OSX應用程序,我需要以編程方式顯示應用存儲供用戶更新他的操作系統,以便使用Facebook集成(僅當他不在10.8.2時)。
如何才能打開App Store到更新部分,或者類似的東西來做同樣的事情?
使用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的應用程序發送的請求,檢查更新(感謝一個人在The-後!中間代理和可信的CA證書,以吸引AppStore.app HTTPS請求,有的Base64編碼解碼),我終於找到了URL打開Mac App Store中的「更新」頁面!
所以這是網址我發現直接打開「更新」選項卡:
https://su.itunes.apple.com/WebObjects/MZSoftwareUpdate.woa/wa/viewSoftwareUpdate
我測試了它到目前爲止並打開AppStore.app如果尚未打開,去更新選項卡,並開始搜索新更新的時候了:)
我嘗試使用'[[NSWorkspace sharedWorkspace] openURL:[NSURL URLWithString:@「macappstores:/ /su.itunes.apple.com/WebObjects/MZSoftwareUpdate.woa/wa/viewSoftwareUpdate「]];'但它不起作用,在AppStore App上發生錯誤。 –
那我的第一個鏈接呢?如果您嘗試在終端中使用「open」命令來打開URL,該怎麼辦? – AliSoftware
看起來像「macappstore:// showUpdatesPage」的URL也可以。 –
你只是想打開應用程序存儲到應用程序的頁面來更新它?或到實際的更新部分? –
我很懷疑第三方應用程序應該這樣做。操作系統已經具有用於檢查更新和通知的內置設置。 – bames53
如果這是可能的,它可能會通過AppleScript公開。不幸的是,App Store的腳本字典僅包含樣板文件。充其量,你可以啓動應用程序本身。 – millimoose