0

0

MAUI如何获取应用的包名和版本号 MAUI AppInfo教程

星降

星降

发布时间:2025-12-18 14:26:47

|

785人浏览过

|

来源于php中文网

原创

在 MAUI 中可通过 AppInfo.PackageName 获取跨平台包名(Android 为 package name,iOS 为 bundle identifier),通过 AppInfo.VersionString 和 AppInfo.BuildString 分别获取语义化版本号与纯数字构建号,需确保 AndroidManifest.xml 和 Info.plist 配置正确并避免过早调用。

maui如何获取应用的包名和版本号 maui appinfo教程

在 MAUI 中获取应用的包名(Package Name)和版本号,主要依靠 Microsoft.Maui.ApplicationModel.AppInfo 类。它跨平台封装了 Android 的 PackageName、iOS 的 Bundle Identifier,以及各平台统一的版本信息,无需手动判断平台或调用原生 API。

获取包名(Bundle Identifier / Package Name)

包名在不同平台含义略有不同:Android 叫“package name”,iOS 叫“bundle identifier”,但 AppInfo.PackageName 会自动返回对应平台的唯一标识字符串。

使用方式很简单:

  • 确保已引用 Microsoft.Maui.ApplicationModel(MAUI 默认已包含)
  • 直接调用 AppInfo.PackageName,例如:
string packageName = AppInfo.PackageName;

? 注意:在 iOS 上,该值取自 Info.plist 中的 CFBundleIdentifier;在 Android 上,取自 AndroidManifest.xmlpackage 属性。务必确保这两个地方配置正确,否则返回空或默认值。

获取版本号(Version + Build)

AppInfo 提供两个关键属性:

  • VersionString:显示给用户的版本号,如 "1.2.0"(对应 Android 的 versionName,iOS 的 CFBundleShortVersionString
  • BuildString:构建号/内部版本号,如 "123"(对应 Android 的 versionCode,iOS 的 CFBundleVersion

示例:

string version = AppInfo.VersionString; // "2.1.0"
string build = AppInfo.BuildString; // "210"

? 小提示:iOS 的 CFBundleVersion 必须是纯数字(如 "210"),不能含字母或点;而 CFBundleShortVersionString 才支持语义化版本(如 "2.1.0")。MAUI 会按规范分别映射到 BuildStringVersionString

ToonMe
ToonMe

一款风靡Instagram的软件,一键生成卡通头像

下载

运行时检查与安全调用

AppInfo 是静态类,但某些属性(尤其是早期 MAUI 版本)在未完全初始化时可能返回 null。建议加空值检查:

if (!string.IsNullOrWhiteSpace(AppInfo.PackageName))
{
  Console.WriteLine($"Package: {AppInfo.PackageName}");
}

另外,不推荐在 App.xaml.cs 构造函数中过早访问 —— 建议放在 OnStart() 或页面首次加载时调用,确保平台服务已就绪。

Android 和 iOS 配置要点

若获取结果异常(如返回空、"com.companyname.yourapp" 默认值),请核对以下配置:

  • Android:打开 Platforms/Android/AndroidManifest.xml,确认 package="com.yourcompany.yourapp" 已修改
  • iOS:打开 Platforms/iOS/Info.plist,检查:
      CFBundleIdentifiercom.yourcompany.yourapp
      CFBundleShortVersionString1.0.0
      CFBundleVersion100

修改后需重新生成项目(Clean + Rebuild),避免缓存导致读取旧值。

基本上就这些。用 AppInfo 获取包名和版本号,不复杂但容易忽略平台配置细节。配对好 manifest/plist,一行代码就能拿到稳定结果。

相关专题

更多
string转int
string转int

在编程中,我们经常会遇到需要将字符串(str)转换为整数(int)的情况。这可能是因为我们需要对字符串进行数值计算,或者需要将用户输入的字符串转换为整数进行处理。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

318

2023.08.02

c语言中null和NULL的区别
c语言中null和NULL的区别

c语言中null和NULL的区别是:null是C语言中的一个宏定义,通常用来表示一个空指针,可以用于初始化指针变量,或者在条件语句中判断指针是否为空;NULL是C语言中的一个预定义常量,通常用来表示一个空值,用于表示一个空的指针、空的指针数组或者空的结构体指针。

232

2023.09.22

java中null的用法
java中null的用法

在Java中,null表示一个引用类型的变量不指向任何对象。可以将null赋值给任何引用类型的变量,包括类、接口、数组、字符串等。想了解更多null的相关内容,可以阅读本专题下面的文章。

436

2024.03.01

if什么意思
if什么意思

if的意思是“如果”的条件。它是一个用于引导条件语句的关键词,用于根据特定条件的真假情况来执行不同的代码块。本专题提供if什么意思的相关文章,供大家免费阅读。

751

2023.08.22

pdf怎么转换成xml格式
pdf怎么转换成xml格式

将 pdf 转换为 xml 的方法:1. 使用在线转换器;2. 使用桌面软件(如 adobe acrobat、itext);3. 使用命令行工具(如 pdftoxml)。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

1887

2024.04.01

xml怎么变成word
xml怎么变成word

步骤:1. 导入 xml 文件;2. 选择 xml 结构;3. 映射 xml 元素到 word 元素;4. 生成 word 文档。提示:确保 xml 文件结构良好,并预览 word 文档以验证转换是否成功。想了解更多xml的相关内容,可以阅读本专题下面的文章。

2087

2024.08.01

xml是什么格式的文件
xml是什么格式的文件

xml是一种纯文本格式的文件。xml指的是可扩展标记语言,标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言。想了解更多相关的内容,可阅读本专题下面的相关文章。

1017

2024.11.28

js 字符串转数组
js 字符串转数组

js字符串转数组的方法:1、使用“split()”方法;2、使用“Array.from()”方法;3、使用for循环遍历;4、使用“Array.split()”方法。本专题为大家提供js字符串转数组的相关的文章、下载、课程内容,供大家免费下载体验。

258

2023.08.03

PS使用蒙版相关教程
PS使用蒙版相关教程

本专题整合了ps使用蒙版相关教程,阅读专题下面的文章了解更多详细内容。

23

2026.01.19

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Excel 教程
Excel 教程

共162课时 | 12.5万人学习

Java 教程
Java 教程

共578课时 | 48.1万人学习

Uniapp从零开始实现新闻资讯应用
Uniapp从零开始实现新闻资讯应用

共64课时 | 6.6万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号