方法“UIKit.UIApplication.Main”已过时:使用带有“Type”而不是“String”参数的重载来确保类型安全

问题描述 投票:0回答:2

将我的 Xamarin.Forms 版本升级到 5.0.0.2244 后,我在 iOS 项目内的

Main.cs
文件中收到以下警告:

方法

UIKit.UIApplication.Main
已过时:使用带有
Type
的重载而不是
String
参数来确保类型安全。

这是我的

Main.cs
文件:

using UIKit;

namespace LindeGctMobileApplication.iOS
{
    public class Application
    {
        private static void Main(string[] args)
        {
            UIApplication.Main(args, null, "AppDelegate"); // << warning
        }
    }
}

我需要更改什么才能消除此警告?

xamarin xamarin.forms xamarin.ios
2个回答
40
投票

现在已弃用通过字符串进行类引用。您需要更改此行:

UIApplication.Main(args, null, "AppDelegate");

对此:

UIApplication.Main(args, null, typeof(AppDelegate));

通过这种方式,你可以明确地告知类的类型。


0
投票

方法 UIKit.UIApplication.Main 已过时:使用重载 为了类型安全,使用类型而不是字符串参数。

此问题将通过更新

Main.cs
文件来解决。 到

UIApplication.Main(args, null, typeof(AppDelegate));

来自

 UIApplication.Main(args, null, "AppDelegate");

iOS API 12

public static void Main (string[] args, string principalClassName, string delegateClassName);

以上方法除了接收字符串类型外。

iOS API 17

public static void Main (string[] args, Type? principalClassName, Type? delegateClassName);

现在 API 不传递类型而不是字符串。两者仍然可以使用

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.