3

可能重复:
以编程方式打开 Mac App Store

我正在开发一个 10.8.0+ OSX 应用程序,我需要以编程方式向用户显示 App Store 以更新他的操作系统以使用 Facebook 集成(仅当他不在 10.8.2 上时)。
如何打开 App Store 的更新部分,或类似的东西做同样的事情?

4

1 回答 1

4

使用iTunes Link Maker,您可以获得一个在 MacOS X 10.8 页面上打开 Mac AppStore 的链接(只需在“Mac 应用程序”部分中搜索“OSX”),如下所示:

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

不幸的是,直接使用此链接会打开您的浏览器,该浏览器将要求用户单击按钮以打开 Mac AppStore 中的页面,但在快速挖掘与此按钮关联的 javascript 代码后,很容易看到而不是替换"https://""macappstores://"will直接打开 Mac AppStore之前无需打开您的默认网络浏览器。

所以简而言之,让您的应用程序打开下面的链接应该可以解决问题:

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 Mountain Lion”应用程序的页面,而不是真正打开 Mac AppStore 应用程序的“更新”选项卡,但我认为这是您能做的最好的事情。


编辑:打开 Mac AppStore 的“更新”选项卡!

在深入研究了 Mac AppStore 应用程序发送的请求以检查更新后(感谢中间人代理和受信任的 CA 证书来引诱 AppStore.app HTTPS 请求,以及一些 Base64 解码),我终于找到了用于打开 Mac App Store 的“更新”页面的 URL!

所以这是我发现的直接打开更新选项卡的 URL:

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

到目前为止,我对其进行了测试,如果 AppStore.app 尚未打开,它会打开它,转到“更新”选项卡,然后立即开始搜索新的更新 :)

于 2012-10-22T18:59:25.180 回答