IOS APP 获取版本号等

本文介绍了一种方法来获取iOS设备的相关信息及当前运行应用的详细版本信息,包括设备名称、系统版本、应用名称及版本等。

NSDictionary *infoDictionary = [[NSBundle mainBundle] infoDictionary]; 
     CFShow(infoDictionary); 
    // app名称 
     NSString *app_Name = [infoDictionary objectForKey:@"CFBundleDisplayName"]; 
     // app版本 
     NSString *app_Version = [infoDictionary objectForKey:@"CFBundleShortVersionString"]; 
     // app build版本 
     NSString *app_build = [infoDictionary objectForKey:@"CFBundleVersion"]; 
     
     
         
        //手机序列号 
        NSString* identifierNumber = [[UIDevice currentDevice] uniqueIdentifier]; 
        NSLog(@"手机序列号: %@",identifierNumber); 
        //手机别名: 用户定义的名称 
        NSString* userPhoneName = [[UIDevice currentDevice] name]; 
        NSLog(@"手机别名: %@", userPhoneName); 
        //设备名称 
        NSString* deviceName = [[UIDevice currentDevice] systemName]; 
        NSLog(@"设备名称: %@",deviceName ); 
        //手机系统版本 
        NSString* phoneVersion = [[UIDevice currentDevice] systemVersion]; 
        NSLog(@"手机系统版本: %@", phoneVersion); 
        //手机型号 
        NSString* phoneModel = [[UIDevice currentDevice] model]; 
        NSLog(@"手机型号: %@",phoneModel ); 
        //地方型号  (国际化区域名称) 
        NSString* localPhoneModel = [[UIDevice currentDevice] localizedModel]; 
        NSLog(@"国际化区域名称: %@",localPhoneModel ); 
         
        NSDictionary *infoDictionary = [[NSBundle mainBundle] infoDictionary]; 
        // 当前应用名称 
        NSString *appCurName = [infoDictionary objectForKey:@"CFBundleDisplayName"]; 
        NSLog(@"当前应用名称: %@",appCurName); 
        // 当前应用软件版本  比如:1.0.1 
        NSString *appCurVersion = [infoDictionary objectForKey:@"CFBundleShortVersionString"]; 
        NSLog(@"当前应用软件版本:%@",appCurVersion); 
        // 当前应用版本号码   int类型 
        NSString *appCurVersionNum = [infoDictionary objectForKey:@"CFBundleVersion"]; 
        NSLog(@"当前应用版本号码: %@",appCurVersionNum); 
### 获取 Flutter 应用的版本号 在 Flutter 应用中获取当前应用的版本号,可以使用 `package_info` 插件来实现。该插件提供了一种跨平台的方式来获取应用程序的版本号、构建号、包名和应用名称等信息。 #### 使用 `package_info` 获取版本号 可以通过异步方式或同步方式获取版本号。以下是一个示例,展示如何初始化包信息并在需要时获取版本号: ```dart import 'package:package_info/package_info.dart'; class PackageInfoUtil { static PackageInfo? packageInfo; // 初始化包信息 static Future<void> init() async { packageInfo = await PackageInfo.fromPlatform(); } // 获取应用版本号 static String? getVersionString() { return packageInfo?.version; } // 获取应用构建号 static String? getBuildString() { return packageInfo?.buildNumber; } // 获取应用包名称 static String? getPackageNameString() { return packageInfo?.packageName; } // 获取应用名称 static String? getAppNameString() { return packageInfo?.appName; } } ``` 在应用启动时,调用 `PackageInfoUtil.init()` 初始化包信息: ```dart void main() async { WidgetsFlutterBinding.ensureInitialized(); await PackageInfoUtil.init(); runApp(MyApp()); } ``` 在需要展示版本号的地方,可以直接调用 `PackageInfoUtil.getVersionString()` 方法: ```dart Text('版本号: ${PackageInfoUtil.getVersionString()}') ``` #### 全局使用版本号 如果希望在全局范围内使用版本号,可以将包信息存储在一个全局变量中,类似于 Java 的静态变量使用方式: ```dart import 'package:package_info/package_info.dart'; class MyUtils { static late PackageInfo packageInfo; static Future<void> init() async { packageInfo = await PackageInfo.fromPlatform(); } static String getVersionString() { return packageInfo.version; } } ``` 在应用启动时初始化: ```dart void main() async { WidgetsFlutterBinding.ensureInitialized(); await MyUtils.init(); runApp(MyApp()); } ``` 在全局范围内使用版本号: ```dart Text('版本号: ${MyUtils.getVersionString()}') ``` #### 注意事项 - 在 iOS 上,版本号和构建号需要在 `Generated.xconfig` 文件中配置,生成的 `.app` 文件才会包含这些信息 [^1]。 - 获取版本号的过程是异步的,因此需要在应用启动时或使用前初始化包信息 [^2]。 - 通过 `PackageInfo.fromPlatform()` 可以获取到应用的版本号、构建号、包名和应用名称等信息 [^4]。 ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值