You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Xamarin Forms中如何从Play Store获取VersionCode实现应用更新检测

实现方案分Android、iOS及跨平台框架场景给出:

Android 端获取versionCode

通过系统自带的PackageManager即可读取,需要适配安卓9.0及以上版本的API变更,示例代码:

// Kotlin 示例
val packageInfo = packageManager.getPackageInfo(packageName, 0)
val versionCode = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
    packageInfo.longVersionCode
} else {
    @Suppress("DEPRECATION")
    packageInfo.versionCode
}

iOS 端获取versionCode

iOS中与versionCode对应的是构建号CFBundleVersion,从应用的Info.plist中读取即可:

// Swift 示例
guard let infoDict = Bundle.main.infoDictionary,
      let versionCode = infoDict["CFBundleVersion"] as? String else {
    // 异常分支可自行添加兜底逻辑
    return
}
// 如需数值比对可转成Int类型
let codeInt = Int(versionCode) ?? 0

跨平台框架获取方案

  • Flutter:使用package_info_plus库,读取返回结果的buildNumber字段即可
  • React Native:使用react-native-device-info库,调用getBuildNumber()方法获取
  • UniApp:直接调用plus.runtime.versionCode即可拿到数值型版本号

版本比对注意事项

  • 不要直接用versionName做比对,语义化的版本字符串(如2.3.1)直接做字符串比对容易出现逻辑错误,用数值型的versionCode比对稳定性更高
  • 服务端的版本更新接口需要同时返回versionName(用于给用户展示更新说明)和versionCode(用于逻辑比对),只要当前应用的versionCode小于服务端返回的最新versionCode,即可触发更新引导

内容的提问来源于stack exchange,提问作者Adit Kothari

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 21:36:02