在 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。
包名在不同平台含义略有不同:Android 叫“package name”,iOS 叫“bundle identifier”,但 AppInfo.PackageName 会自动返回对应平台的唯一标识字符串。
使用方式很简单:
Microsoft.Maui.ApplicationModel(MAUI 默认已包含)AppInfo.PackageName,例如:? 注意:在 iOS 上,该值取自 Info.plist 中的 CFBundleIdentifier;在 Android 上,取自 AndroidManifest.xml 的 package 属性。务必确保这两个地方配置正确,否则返回空或默认值。
AppInfo 提供两个关键属性:
VersionString:显示给用户的版本号,如 "1.2.0"(对应 Android 的 versionName,iOS 的 CFBundleShortVersionString)BuildString:构建号/内部版本号,如 "123"(对应 Android 的 versionCode,iOS 的 CFBundleVersion)示例:
string version = AppInfo.VersionString; // "2.1.0"? 小提示:iOS 的 CFBundleVersion 必须是纯数字(如 "210"),不能含字母或点;而 CFBundleShortVersionString 才支持语义化版本(如 "2.1.0")。MAUI 会按规范分别映射到 BuildString 和 VersionString。
AppInfo 是静态类,但某些属性(尤其是早期 MAUI 版本)在未完全初始化时可能返回 null。建议加空值检查:
另外,不推荐在 App.xaml.cs 构造函数中过早访问 —— 建议放在 OnStart() 或页面首次加载时调用,确保平台服务已就绪。
若获取结果异常(如返回空、"com.companyname.yourapp" 默认值),请核对以下配置:
Platforms/Android/AndroidManifest.xml,确认 package="com.yourcompany.yourapp" 已修改Platforms/iOS/Info.plist,检查:<key>CFBundleIdentifier</key><string>com.yourcompany.yourapp</string><key>CFBundleShortVersionString</key><string>1.0.0</string><key>CFBundleVersion</key><string>100</string>
修改后需重新生成项目(Clean + Rebuild),避免缓存导致读取旧值。
基本上就这些。用 AppInfo 获取包名和版本号,不复杂但容易忽略平台配置细节。配对好 manifest/plist,一行代码就能拿到稳定结果。
以上就是MAUI如何获取应用的包名和版本号 MAUI AppInfo教程的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号