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号所以海外地区会晚一点,所以为了能准确获取我们测试的中国地区可以这样做

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

在国内,建议使用国内地址,国外地址可能会出现版本信息不一致的问题

原文地址:https://www.cnblogs.com/gaozhang12345/p/11419182.html