从appstore获取应用程序信息

2024-02-08 14:48

本文主要是介绍从appstore获取应用程序信息,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

转自 :   http://hi.baidu.com/yunhuaikong/blog/item/5d877dcf04ce471e92457eaa.html



如何从appstore获取应用程序信息
2011-12-02 11:06
如果我们需要实现应用程序版本的自动更新提示,那么我们需要获取当前运行程序的版本信息和 appstore里发布的最新版本信息。当前运行程序的版本信息,可以在 mainBundle 里面获取:

NSDictionary *infoDict = [[NSBundle mainBundle]infoDictionary];  
NSString *currentVersion = [infoDictobjectForKey:@"CFBundleVersion"];

而 appstore 里发布的最新版本信息获取稍微复杂一些,有两种方案,思路都是一样的:
其一:在某个服务器上存储最新发布的版本信息,需要的时候向该服务器查询;

其二:在需要的时候向 appstore 查询;
在这里我来介绍第二种方法:向 appstore 查询应用程序信息,包括作者,版本,app介绍页面地址等信息。英文好的同学可以参考apple的文档:www.apple.com/itunes/affiliates/resources/documentation/itunes-store-web-service-search-api.html
具体步骤如下:
1,用 POST 方式发送请求:
http://itunes.apple.com/search?term=你的应用程序名称&entity=software

更加精准的做法是根据 app 的 id 来查找:
http://itunes.apple.com/lookup?id=你的应用程序的ID


2,从获得的 response 数据中解析需要的数据。因为从 appstore 查询得到的信息是 JSON格式的,所以需要经过解析。解析之后得到的原始数据就是如下这个样子的:
{  
    resultCount= 1;  
    results=    (  
                {  
            artistId= 开发者ID;  
            artistName= 开发者名称; 
            price= 0; 
            isGameCenterEnabled= 0;  
            kind= software;  
            languageCodesISO2A=            (  
                EN  
            ); 
            trackCensoredName= 审(我们的)查名称;  
            trackContentRating= 评级;  
            trackId= 应用程序 ID;  
            trackName= 应用程序名称";  
            trackViewUrl= 应用程序介绍网址;  
            userRatingCount= 用户评级;  
            userRatingCountForCurrentVersion= 1;  
            version= 版本号;  
            wrapperType= software; 
      }  
    );  
}  

然后从中取得 results 数组即可,具体代码如下所示:

NSDictionary *jsonData = [dataPayloadJSONValue];  
NSArray *infoArray = [jsonDataobjectForKey:@"results"];  
NSDictionary *releaseInfo = [infoArrayobjectAtIndex:0];  
NSString *latestVersion = [releaseInfoobjectForKey:@"version"];  
NSString *trackViewUrl = [releaseInfoobjectForKey:@"trackViewUrl"];  

如果你拷贝 trackViewUrl 的实际地址,然后在浏览器中打开,就会打开你的应用程序在 appstore中的介绍页面。当然我们也可以在代码中调用 safari 来打开它。
UIApplication *application = [UIApplicationsharedApplication];  
[application openURL:[NSURL URLWithString:trackViewUrl]];  

这篇关于从appstore获取应用程序信息的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/691346

相关文章

业务中14个需要进行A/B测试的时刻[信息图]

在本指南中,我们将全面了解有关 A/B测试 的所有内容。 我们将介绍不同类型的A/B测试,如何有效地规划和启动测试,如何评估测试是否成功,您应该关注哪些指标,多年来我们发现的常见错误等等。 什么是A/B测试? A/B测试(有时称为“分割测试”)是一种实验类型,其中您创建两种或多种内容变体——如登录页面、电子邮件或广告——并将它们显示给不同的受众群体,以查看哪一种效果最好。 本质上,A/B测

【北交大信息所AI-Max2】使用方法

BJTU信息所集群AI_MAX2使用方法 使用的前提是预约到相应的算力卡,拥有登录权限的账号密码,一般为导师组共用一个。 有浏览器、ssh工具就可以。 1.新建集群Terminal 浏览器登陆10.126.62.75 (如果是1集群把75改成66) 交互式开发 执行器选Terminal 密码随便设一个(需记住) 工作空间:私有数据、全部文件 加速器选GeForce_RTX_2080_Ti

cross-plateform 跨平台应用程序-03-如果只选择一个框架,应该选择哪一个?

跨平台系列 cross-plateform 跨平台应用程序-01-概览 cross-plateform 跨平台应用程序-02-有哪些主流技术栈? cross-plateform 跨平台应用程序-03-如果只选择一个框架,应该选择哪一个? cross-plateform 跨平台应用程序-04-React Native 介绍 cross-plateform 跨平台应用程序-05-Flutte

Android Environment 获取的路径问题

1. 以获取 /System 路径为例 /*** Return root of the "system" partition holding the core Android OS.* Always present and mounted read-only.*/public static @NonNull File getRootDirectory() {return DIR_ANDR

JS和jQuery获取节点的兄弟,父级,子级元素

原文转自http://blog.csdn.net/duanshuyong/article/details/7562423 先说一下JS的获取方法,其要比JQUERY的方法麻烦很多,后面以JQUERY的方法作对比。 JS的方法会比JQUERY麻烦很多,主要则是因为FF浏览器,FF浏览器会把你的换行也当最DOM元素。 <div id="test"><div></div><div></div

Linux命令(11):系统信息查看命令

系统 # uname -a # 查看内核/操作系统/CPU信息# head -n 1 /etc/issue # 查看操作系统版本# cat /proc/cpuinfo # 查看CPU信息# hostname # 查看计算机名# lspci -tv # 列出所有PCI设备# lsusb -tv

vcpkg子包路径批量获取

获取vcpkg 子包的路径,并拼接为set(CMAKE_PREFIX_PATH “拼接路径” ) import osdef find_directories_with_subdirs(root_dir):# 构建根目录下的 "packages" 文件夹路径root_packages_dir = os.path.join(root_dir, "packages")# 如果 "packages"

【小迪安全笔记 V2022 】信息打点9~11

第9天 信息打点-CDN绕过篇&漏洞回链8接口探针&全网扫指&反向件 知识点: 0、CDN知识-工作原理及阻碍 1、CDN配置-域名&区域&类型 2、CDN绕过-靠谱十余种技战法 3、CDN绑定-HOSTS绑定指向访问 CDN 是构建在数据网络上的一种分布式的内容分发网。 CDN的作用是采用流媒体服务器集群技术,克服单机系统输出带宽及并发能力不足的缺点,可极大提升系统支持的并发流数目,减少或避

Weex入门教程之4,获取当前全局环境变量和配置信息(屏幕高度、宽度等)

$getConfig() 获取当前全局环境变量和配置信息。 Returns: config (object): 配置对象;bundleUrl (string): bundle 的 url;debug (boolean): 是否是调试模式;env (object): 环境对象; weexVersion (string): Weex sdk 版本;appName (string): 应用名字;

MFC中App,Doc,MainFrame,View各指针的互相获取

纸上得来终觉浅,为了熟悉获取方法,我建了个SDI。 首先说明这四个类的执行顺序是App->Doc->Main->View 另外添加CDialog类获得各个指针的方法。 多文档的获取有点小区别,有时间也总结一下。 //  App void CSDIApp::OnApp() {      //  App      //  Doc     CDocument *pD