代码之家  ›  专栏  ›  技术社区  ›  Dan

获取应用程序版本和内部版本

  •  0
  • Dan  · 技术社区  · 7 年前

    我正在研制一种Xamarin。表单应用程序,但iOS版本似乎显示不正确。

    我设置了 info.plist 至版本:0.0和内部版本:9,但在应用程序中显示为版本1.5.174和内部版本674

    [assembly: Xamarin.Forms.Dependency(typeof(SocialNetwork.iOS.Version_iOS))]
    namespace SocialNetwork.iOS
    {
    public class Version_iOS : IAppVersion
    {
        public string GetVersion()
        {
            return NSBundle.MainBundle.ObjectForInfoDictionary("CFBundleShortVersionString").ToString();
        }
        public int GetBuild()
        {
            return int.Parse(NSBundle.MainBundle.ObjectForInfoDictionary("CFBundleVersion").ToString());
        }
      }
    }
    

    IAppVersion很简单

    public interface IAppVersion
    {
        string GetVersion();
        int GetBuild();
    }
    

    我使用

    public static string AppVersion = DependencyService.Get<IAppVersion>().GetVersion();
        public static int AppBuild = DependencyService.Get<IAppVersion>().GetBuild();
    
    1 回复  |  直到 7 年前
        1
  •  6
  •   Nick Kovalsky    7 年前

    共享的

    声明:

    public interface IYourName
    {
        string GetAppVersion();
    }
    

    用法:

     var AppVersion = DependencyService.Get<IYourName>().GetAppVersion();
    

    IOS

        //****************************************************
        class YourNameHelpers : IYourName
        //****************************************************
        {
            //-------------------------------------------------------------
            public string GetAppVersion()
            //-------------------------------------------------------------
            {    
                return NSBundle.MainBundle.InfoDictionary[new NSString("CFBundleVersion")].ToString();    
            }
        }
    

    安卓

        //****************************************************
        class YourNameHelpers : IYourName
        //****************************************************
        {
            //-------------------------------------------------------------
            public string GetAppVersion()
            //-------------------------------------------------------------
            {
                Context context = Forms.Context;
                PackageManager manager = context.PackageManager;
                PackageInfo info = manager.GetPackageInfo(context.PackageName, 0);
                return info.VersionName;
            }
        }