我需要检查已安装应用程序的当前版本。如果不是同一应用,则应导航到应用商店中的应用页面。
我正在使用最新版本插件。它可以与Android
一起正常工作,但不能与iOS
Setings.appVersion = await CrossLatestVersion.Current.GetLatestVersionNumber();
if (Setings.appVersion == "1.0.1")
{
MainPage = new NavigationPage(new Login());
}
else
{
//lblBuildNumber.Text = DependencyService.Get<IAppVersionAndBuild>().GetBuildNumber();
MainPage = new NavigationPage(new UpdateAppPopup());
}
async void Handle_Clicked(object sender, System.EventArgs e)
{
await CrossLatestVersion.Current.OpenAppInStore("com.KIH.Consultant");
}
使用此代码,它应该导航到应用商店或Playstore中的应用页面 可以在playstore中正常运行,但不能在appstore(ios)中工作
答案 0 :(得分:1)
1)在主项目中创建一个界面
public interface IAppService
{
string GetVersion();
}
2)然后在您的droid项目中实现它
public class AppService : IAppService
{
public string GetVersion() {
var context = Android.App.Application.Context;
var info = context.PackageManager.GetPackageInfo(context.PackageName,
Android.Content.PM.PackageInfoFlags.MatchAll);
return info.VersionName;
}
3)然后在ios项目中实现它
public class AppService : IAppService
{
public string GetVersion()
{
return NSBundle.MainBundle.InfoDictionary["CFBundleShortVersionString"].ToString();
}
}
4)现在您可以像这样使用它
string v = Get<IAppService>().GetVersion();
答案 1 :(得分:1)
使用Xamarin.Essentials获取应用程序的当前版本字符串和版本代码。
// Application Version (1.0.0)
var version = AppInfo.VersionString;
// Application Build Number (1)
var build = AppInfo.BuildString;