2012-10-22 44 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也可以。 –