Xamarin形式(ios):以编程方式连接到wifi时的Runtimeexception

时间:2018-07-06 15:37:07

标签: xamarin.forms xamarin.ios

使用Xamarin形式的依赖服务(在ios部分中是特定的),我正在尝试使用以下代码以编程方式连接到wifi网络:

NetworkExtension.NEHotspotConfigurationManager mymanager = new NetworkExtension.NEHotspotConfigurationManager(); // causing exception
NetworkExtension.NEHotspotConfiguration myconf = new NetworkExtension.NEHotspotConfiguration("MyWiFIName", "somePassword", false);

mymanager.ApplyConfiguration(myconf, (error) => {
   System.Diagnostics.Debug.WriteLine("foo");
});

在运行时,出现此异常:

ObjCRuntime.RuntimeException          
Can't register the class NetworkExtension.NEHotspotConfigurationManager when the dynamic registrar has been linked away.

我按照Tutorial的指示执行了所有操作,但我不断收到错误消息。设置了所有应用程序权限,并且在编译时不会发生错误。顺便说一句,我们正在谈论的是刚刚创建的“新”解决方案,除了上面提到的代码外,不包含其他代码,接口类,特定于平台的服务声明和触发服务的按钮。我在网上找到了建议我手动更改ios.csproj文件(Link)的解决方案-这样做无济于事。我还向Apple申请了使用NEHothelperclass的许可,但没有答案(不知道这是否重要)。我想念什么?

编辑: 我尝试将链接器选项(ios项目->选项-> ios-build->链接器)更改为不链接:异常更改为:

ObjCRuntime.RuntimeException
Wrapper type 'NetworkExtension.NEHotspotConfigurationManager' is missing its native ObjectiveC class 'NEHotspotConfigurationManager'.