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

在 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,例如:
? 注意:在 iOS 上,该值取自 Info.plist 中的 CFBundleIdentifier;在 Android 上,取自 AndroidManifest.xml 的 package 属性。务必确保这两个地方配置正确,否则返回空或默认值。
获取版本号(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 会按规范分别映射到 BuildString 和 VersionString。
还木有评论哦,快来抢沙发吧~