iOS获取当前app的名称和版本号及其他信息(持续维护)
// 1. iOS 获取到的 APP 的信息
// iOS获取当前app的名称和版本号 NSDictionary *infoDictionary = [[NSBundle mainBundle] infoDictionary];//获取app版本信息 NSLog(@"%@",infoDictionary); //这里会得到很对关于app的相关信息 // 下面,我们开始取需要的字段: // 1.app名称 NSString *app_Name = [infoDictionary objectForKey:@"CFBundleDisplayName"]; NSLog(@"1.app名称: %@",app_Name); // 2.app版本 NSString *applocalversion = [infoDictionary objectForKey:@"CFBundleShortVersionString"]; NSLog(@"2.app版本: %@",applocalversion); // 3.app build版本 NSString *app_build = [infoDictionary objectForKey:@"CFBundleVersion"]; NSLog(@"3.app build版本: %@",app_build); // 4..app getAppBundleId版本获取当前App的包名信息 NSString *app_BundleId = [infoDictionary objectForKey:@"CFBundleIdentifier"]; NSLog(@"4.app 包名: %@",app_BundleId); // 5.app 当前App的发行地区 NSString *app_getAppBundleId = [infoDictionary objectForKey:@"CFBundleDevelopmentRegion"]; NSLog(@"5.app 发行地区: %@",app_getAppBundleId);
// 2. iOS 获取到的手机信息
// a1.手机别名: 用户定义的名称 NSString *userPhoneName = [[UIDevice currentDevice] name]; NSLog(@"a1.手机别名: %@", userPhoneName); // a2.手机名称 NSString *deviceName = [[UIDevice currentDevice] systemName]; NSLog(@"a2.手机名称: %@",deviceName ); // a3.手机系统版本 NSString *phoneVersion = [[UIDevice currentDevice] systemVersion]; NSLog(@"a3.手机系统版本: %@", phoneVersion); // a4.手机型号 NSString *phoneModel = [[UIDevice currentDevice] model]; NSLog(@"a4.手机型号: %@",phoneModel); // a5.地方型号 (国际化区域名称) NSString *localPhoneModel = [[UIDevice currentDevice] localizedModel]; NSLog(@"a5.国际化区域名称: %@",localPhoneModel);
// a6.设备唯一标识符
NSString *identifier = [[[UIDevice currentDevice] identifierForVendor] UUIDString];
NSLog(@"设备唯一标识符:%@",identifier);
有时候我们不能获取到准确的app版本号是因为app上架的地区有时差不能马上实时同步,比如在中国区11月25号上架了,但是美国比我们晚12个小时,美国当地时间还不到11月25号,他们还是25号所以海外地区会晚一点,所以为了能准确获取我们测试的中国地区可以这样做
1 2 3 4 5 6 7 8 9 10 11 | dispatch_async(dispatch_queue_create( "check_version_queue" , DISPATCH_QUEUE_CONCURRENT), ^{ NSMutableURLRequest *request = [[ NSMutableURLRequest alloc] init]; [request setURL:[ NSURL URLWithString:[ NSString stringWithFormat:@ "http://itunes.apple.com/cn/lookup?id=%@" ,appID]]]; [request setHTTPMethod:@ "POST" ]; NSData *returnData = [ NSURLConnection sendSynchronousRequest:request returningResponse: nil error: nil ]; NSDictionary *jsonData = [ NSJSONSerialization JSONObjectWithData:returnData options:0 error: nil ]; for ( NSDictionary *dic in jsonData) { // NSLog(@"%@",jsonData); NSLog (@ "%@" ,[jsonData objectForKey:@ "citynm" ]); } |
获取app在 App Store上的json信息url
国外:https://itunes.apple.com/lookup?id=xxx
国内:https://itunes.apple.com/cn/lookup?id=xxx
在国内,建议使用国内地址,国外地址可能会出现版本信息不一致的问题
分类:
oc学习笔记
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix