将用户发送到App Store以更新OS X版本

时间:2012-10-22 18:40:17

标签: objective-c macos mac-app-store updating

  

可能重复:
  Programmatically open Mac App Store

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

1 个答案:

答案 0 :(得分: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://"直接打开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解码),< strong>我终于找到了打开Mac App Store“更新”页面的URL!

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

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

我到目前为止测试了它并打开了AppStore.app(如果尚未打开),请转到更新选项卡,然后立即开始搜索新的更新:)