使用 iOS/Obj-c 按类型搜索 Apple App Store

Posted

技术标签:

【中文标题】使用 iOS/Obj-c 按类型搜索 Apple App Store【英文标题】:Search Apple App store by genre with iOS/Obj-c 【发布时间】:2012-12-12 05:42:06 【问题描述】:

你将如何使用 Obj-c 搜索 Apple App Store 来执行以下操作...

    返回游戏整体类别前100名的详细信息或 特定游戏类别 返回游戏类别中特定游戏的详细信息

有人吗?

【问题讨论】:

【参考方案1】:

嗯,据我所知,您有两种搜索 App Store 的方法:

    Search API; RSS feed generator。

它们之间存在许多差异,但与您的示例最相关的是,使用 Search API 您无法对结果进行排序,因为它们是按相关性排序的,并且始终需要搜索词。 RSS feed generator 已经为您提供免费、付费和畅销类别。

鉴于此,我将开始为RSS feed generator 回答您的问题。

    您使用RSS feed generator 为美国商店中排名前100 的免费游戏生成这样的供稿:https://itunes.apple.com/us/rss/topfreeapplications/limit=100/genre=6014/xml; 在this link 抢夺游戏子类型; 您使用NSXMLParser 库来解析已经包含应用程序详细信息的RSS。 你可以使用NSXMLParser的initWithContentsOfUrl:方法; 可以在here 找到此部分的快速操作方法。

您还可以使用 StoreKit 通过 ID 获取应用程序的详细信息,或显示具有特定应用程序的模态视图控制器,但这需要额外的网络请求。


为了完整起见,我还将介绍如何使用Search API。

    使用Search API 创建一个描述您的搜索的 URL: 这样的网址可让您搜索与“愤怒的小鸟”匹配的应用 - https://itunes.apple.com/search?term=angry+birds&media=software。 使用NSJSONSerialization library 处理结果。这已经包括应用程序的详细信息。 在this tutorial 上搜索如何使用NSJSONSerialization library。

最后,正如@Numan 所说,这两种方法完成了不同的事情。您说您希望获得特定类别的前 100 款游戏,还说您需要搜索特定游戏。

您可以使用我的描述创建一个类,以这两种方式与 App Store 交互,并返回您定义的描述应用程序(或对象数组)的对象。

【讨论】:

感谢您的详细回复。如果我想找到一个特定的游戏怎么办?那么唯一的选择是正确使用搜索 API 吗?如果是这种情况,是否可以通过使用 RSS 提要但使用搜索 API 来完成您刚才描述的所有操作?使用 RSS 源,我无法在应用商店中搜索游戏或游戏类型 您将无法使用 RSS 源搜索任何内容。 RSS 提要中的数据由 Apple 预设,您可以通过有限的方式对其进行过滤。如果您想查找游戏,Search API 将是您的最佳选择。搜索 API 依赖于要搜索的关键字,并且如前所述,根据与搜索词的相关性对结果进行排序,因此获得前 100 名将是一个挑战。最好的办法是针对给定问题使用正确的方法,而不是在这种情况下一概而论 我认为使用 Search API 唯一缺少的就是为您提供如何使用 NSJSONSerialization 的教程。这是我发现的一个使用后台获取的方法:raywenderlich.com/5492/working-with-json-in-ios-5 感谢所有这些。好的,基本上,我必须同时使用这两种方法?对于前 100 名等,我从提要中获取 XML,对于特定游戏,搜索 API?您是否有机会为游戏添加示例搜索 URL 字符串?说愤怒的小鸟?因为我仍然看不到您如何使用 Search API 在游戏类型中进行搜索,所以它似乎不包括 App Store。 好的,我一直在尝试按流派进行搜索,但我做不到。这应该有效但没有结果:itunes.apple.com/…。如果这可行,您可以使用我向您展示的 URL 按名称搜索,然后按流派搜索另一个 URL,然后进行匹配。这是次优的,但是是我能想到的最好的。我仍然无法让它工作。您还可以在结果中搜索并过滤您获得的流派 ID。仍然是一个肮脏的解决方案。【参考方案2】:

您可以通过 RSS 访问此信息,请看这里http://www.apple.com/rss/

你也可以生成RSS提要http://itunes.apple.com/rss/generator/

【讨论】:

谢谢我知道 RSS 提要,但这对我的具体问题没有帮助,我也不知道我是否必须使用搜索 API 或 RSS 提要,或者如何按照我上面询问的示例进行搜索,以及如何在 obj-c/iOS 中进行搜索。

以上是关于使用 iOS/Obj-c 按类型搜索 Apple App Store的主要内容,如果未能解决你的问题,请参考以下文章

iOS / Obj-C UIScrollView 和 PageControl 不起作用

检查互联网连接 iOS - Obj-C

iOS/Obj-C UIScrollView 视图未正确添加

检查用户是不是允许本地通知。 iOS 8. Obj-C

如何在iOS Obj-C中隐藏键盘触摸UITableView

崩溃 [RMMessageFormatter getFormatedStatusFromDisk] (IOS obj-c)