获取应用程序信息.h

//
//  获取应用程序信息.h
//  IOS笔记
//

一般会用来判断是否有新版本、是否需要强制更新

iOS的版本号,一个叫做Version,一个叫做Build,这两个值都可以在Xcode 中选中target,点击“Summary”后看到。 Version在plist文件中的key是“CFBundleShortVersionString”,和AppStore上的版本号保持一致,Build在plist中的key是“CFBundleVersion”,代表build的版本号,该值每次build之后都应该增加1。这两个值都可以在程序中通过下面的代码获得:

[[[NSBundle mainBundle] infoDictionary] valueForKey:@"key"]


[2]具体实现
代码实现获得应用的Verison号:
[[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"]或[[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleShortVersionString"];
获得build号:
[[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"]



打印出来infoDictionary的内容
    NSLog(@"%@",[[NSBundle mainBundle]infoDictionary]);
{
    BuildMachineOSBuild = 15B42;
    CFBundleDevelopmentRegion = en;
    CFBundleExecutable = "UIApplication\U7684\U4f7f\U7528";
    CFBundleIdentifier = "cn.juzhong.UIApplication---";
    CFBundleInfoDictionaryVersion = "6.0";
    CFBundleInfoPlistURL = "Info.plist -- file:///Users/liuweicheng/Library/Developer/CoreSimulator/Devices/1A2BA12B-DF68-48F4-995A-C6AC2701D3AE/data/Containers/Bundle/Application/1543AEC3-3B92-4282-896E-C3A1D8E99E33/UIApplication%E7%9A%84%E4%BD%BF%E7%94%A8.app/";
    CFBundleName = "UIApplication\U7684\U4f7f\U7528";
    CFBundleNumericVersion = 16809984;
    CFBundlePackageType = APPL;
    CFBundleShortVersionString = "1.0";
    CFBundleSignature = "????";
    CFBundleSupportedPlatforms =     (
                                      iPhoneSimulator
                                      );
    CFBundleURLTypes =     (
                            {
                                CFBundleURLName = "";
                            }
                            );
    CFBundleVersion = 1;
    DTCompiler = "com.apple.compilers.llvm.clang.1_0";
    DTPlatformBuild = "";
    DTPlatformName = iphonesimulator;
    DTPlatformVersion = "9.1";
    DTSDKBuild = 13B137;
    DTSDKName = "iphonesimulator9.1";
    DTXcode = 0711;
    DTXcodeBuild = 7B1005;
    LSRequiresIPhoneOS = 1;
    MinimumOSVersion = "9.1";
    NSAppTransportSecurity =     {
        NSAllowsArbitraryLoads = 1;
    };
    UIDeviceFamily =     (
                          1
                          );
    UILaunchStoryboardName = LaunchScreen;
    UIMainStoryboardFile = Main;
    UIRequiredDeviceCapabilities =     (
                                        armv7
                                        );
    UISupportedInterfaceOrientations =     (
                                            UIInterfaceOrientationPortrait,
                                            UIInterfaceOrientationLandscapeLeft,
                                            UIInterfaceOrientationLandscapeRight
                                            );
}




iOS获取AppStore内应用程序信息

参考 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

/*
AFHTTPRequestOperationManager *mgr = [AFHTTPRequestOperationManager manager];

mgr.responseSerializer = [AFJSONResponseSerializer serializer];

mgr.responseSerializer.acceptableContentTypes = [NSSet setWithObject:@"text/javascript"];

NSLog(@"xxx");

//发送POST请求
[mgr POST:@"http://itunes.apple.com/search?term=QQ&entity=software" parameters:nil  success:^(AFHTTPRequestOperation *operation, id responseObject) {
    NSLog(@"%@",responseObject);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
    NSLog(@"%@",error);
}];

AFHTTPRequestOperationManager *mgr1 = [AFHTTPRequestOperationManager manager];
mgr1.responseSerializer = [AFJSONResponseSerializer serializer];
mgr1.responseSerializer.acceptableContentTypes = [NSSet setWithObject:@"text/javascript"];
NSLog(@"xxx");
//发送POST请求
[mgr1 POST:@"http://itunes.apple.com/lookup?id=com.tenpay.mobile.iphone" parameters:nil  success:^(AFHTTPRequestOperation *operation, id responseObject) {
    NSLog(@"%@",responseObject);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
    
    NSLog(@"%@",error);
}];
}
*/


转载于:https://www.cnblogs.com/er-dai-ma-nong/p/5045703.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/491481.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一文看懂机器视觉芯片

来源:半导体行业观察来源:半导体行业观察【导读】机器视觉之于人工智能等同于视觉之于人类,本文系统介绍决定机器视觉的两大要素——视觉算法和芯片,重点介绍国内外视觉芯片市场及发展前景,包括重量级玩家及其产品。机…

单词短语搭配用法网站

https://linggle.com/? 通配符:*(星号,英文半角)通配一个单词;_(下划线,英文半角)通配多个单词。 例如,搜索in this paper we _(注意星号前需要有空格&…

java socket编程

一,网络编程中两个主要的问题 一个是如何准确的定位网络上一台或多台主机,另一个就是找到主机后如何可靠高效的进行数据传输。 在TCP/IP协议中IP层主要负责网络主机的定位,数据传输的路由,由IP地址可以唯一地确定Internet上的一台…

任正非与美国思想家的咖啡对话全文

来源:华为心声、蓝血研究美国的所作所为促成了华为的觉醒,现在是华为的“人造卫星”时代!——尼古拉斯尼葛洛庞帝美国学者与任正非的咖啡对话2019年6月17日田薇:“一杯咖啡吸收宇宙能量”,我是田薇。有人说&#xff0c…

免费英文批改网站

grammarly:https://app.grammarly.com ginger:https://www.gingersoftware.com/ 批改网:http://www.pigai.org/ 易改:http://www.1checker.com/ stylewriter:http://www.stylewriter-usa.com/ whitesmoke&#xf…

python图片显示中文

首先下载simhei字体(SimHei.ttf) https://www.fontpalace.com/font-details/SimHei/ 找到matplotlib包所在文件夹 import matplotlib matplotlib.matplotlib_fname() /home/***/site-packages/matplotlib/mpl-data/matplotlibrc(每个人不一样…

人工智能推理应用于场景的四大典型方式

来源:英伟达NVIDIA中国从Alexa和谷歌地图导航等语音助手,到Bing的对话搜索,人工智能已经成为许多人日常生活的一部分。这些任务需要执行深度学习推理,也可以被认为是将人工智能应用于场景。为人工智能提供动力的深度学习神经网络是…

JSTL标签库中fmt标签,日期,数字的格式化

首先介绍日期的格式化:(不要嫌多哦) JSTL格式化日期&#xff08;本地化&#xff09; 类似于数字和货币格式化&#xff0c;本地化环境还会影响生成日期和时间的方式。 <% page pageEncoding"UTF-8" %><% taglib prefix"c" uri"http://java.su…

LaTeX引用多篇bibtex格式文献

首先找到要引用的文献的bibtex格式&#xff08;谷歌学术的引用上有&#xff09;&#xff0c;如下图所示 其中"girshick2015fast"是该文献的标签(待会引用这篇文献时会用到)&#xff0c;可以自己重命名 将要引用的全部文献的bibtex格式放到一个txt文件上&#xff08;…

Libra白皮书面世 正确解读Facebook野心需注意这些点

来源&#xff1a;全链财经北京时间6月18日下午消息&#xff0c;Facebook的加密货币“Libra”相关网站正式上线&#xff0c;Facebook还发布了这款加密货币的白皮书。据coindesk报道称&#xff0c;Libra将在由100个分布式计算机服务器或节点启动的区块链网络上运行。目前有28个节…

网址的bibtex格式

用LaTeX引用网址时&#xff0c;可以将网址写成以下bibtex格式&#xff1a; misc{name,author {author names},title {This is title},howpublished{\url{http://www.this is url/}},year {2000}} 在导言去加入url包&#xff0c;即\usepackage{url} 如果想设置引用文献里网…

[Mac]Python 安装MySQLdb模块

今天我需要用python操作Mysql数据库&#xff0c;需要安装第三方MySQLdb模块&#xff08;下载地址&#xff1a;http://mysql-python.sourceforge.net&#xff09;&#xff0c;但是执行sudo python setup.py install时&#xff0c;提示缺少“mysql_config”文件,解决这个问题需要…

matlab保存colormap失败

自己辛苦手动调节的colormap想保存下来发现并没有保存&#xff0c;可以试试以下代码&#xff1a; ax gca; mycmap colormap(ax); save(MyColormaps,mycmap) 下次调用这个自定义的colormap时&#xff1a; load MyColormaps colormap(mycmap) 或者 ax gca; load MyColorm…

洪小文清华论道:AI 的前生今世及未来应用图景

来源&#xff1a;微软丹棱街5号丹棱君有话说&#xff1a;这是一场解析了 AI 前世今生及未来应用图景的演讲&#xff0c;一场经济学家与科学家的问答&#xff0c;将会对撞出怎样的思想火花&#xff1f;6月13日&#xff0c;微软全球资深副总裁、微软亚太研发集团主席兼微软亚洲研…

ios获取本地音乐库音乐很详细 扫描IPHONE本地音乐文件,获得音乐名,歌手名代码示例...

//扫描本地音乐文件&#xff0c;返回艺术家列表 需要库MediaPlayer.framework -(NSArray*) findArtistList { NSMutableArray *artistList [[NSMutableArray alloc]init]; MPMediaQuery *listQuery [MPMediaQuery playlistsQuery];//播放列表 NSArray *playl…

The value of a feed cannot be a tf.Tensor object.

使用tf.data.Dataset时出现报错“The value of a feed cannot be a tf.Tensor object.” session.run(train_op, feed_dict{model.image_4d:x,model.y:y}) 如上面的代码&#xff0c;tf.data.Dataset生成的是x和y是tensor&#xff0c;所以现将x和y转为numpy格式 x, y sessio…

中国学者变革300多年来的活塞!MIT、哈佛联手,动力3倍以上,可节能40%

来源&#xff1a;机器人大讲堂导读麻省理工学院&#xff08;MIT&#xff09;和哈佛大学的研究团队合作设计出了一种使用柔性材料的新型活塞&#xff0c;动力是传统活塞的3倍以上&#xff0c;且最多可节能40%。这种柔性活塞有望从根本上改变汽车发动机、机械臂、起重机、减震器和…

网络协议及IP地址分类

网络协议&#xff08;Protocol&#xff09;是一种特殊的软件&#xff0c;是计算机网络实现其功能的最基本机制。网络协议的本质是规则&#xff0c;即各种硬件和软件必须遵循的共同守则。网络协议并不是一套单独的软件&#xff0c;它融合于其他所有软件系统中&#xff0c;因此可…

Android中Parcelable接口用法

Android中Parcelable接口用法 1. Parcelable接口 Interface for classes whose instances can be written to and restored from a Parcel。 Classes implementing the Parcelable interface must also have a static field called CREATOR&#xff0c; which is an object imp…

python获取当前文件路径

路径包含文件名&#xff1a; import sys print(sys.argv[0]) 输出/***/***/***.py 路径不包含文件名&#xff1a; 以下三种方式输出的结果一样 import os print(os.getcwd()) print(os.path.abspath(.)) print(os.path.abspath(os.curdir)) 输出/***/***/***