原生链接错误:未找到框架在编译IOS时使用ArcGIS-sim64在Windows上使用Xamarin.Forms

原生链接错误:未找到框架在编译IOS时使用ArcGIS-sim64在Windows上使用Xamarin.Forms

问题描述:

正如标题所述,在尝试编译IOS的Xamarin.Forms应用程序时,出现以下链接错误。我正在开发Visual Studio for Windows并使用MacBook进行编译。原生链接错误:未找到框架在编译IOS时使用ArcGIS-sim64在Windows上使用Xamarin.Forms

1>C:\Program Files (x86)\Microsoft Visual 
Studio\2017\Enterprise\MSBuild\Xamarin\iOS\Xamarin.iOS.Common.targets(747,3): error : Native linking error: warning: directory not found for option '-F/Users/vvp/Library/Caches/Xamarin/mtbs/builds/RT.iOS/9bd34334c2bb0c14c8bdf794f67e9fc/framework'1> 

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\Xamarin\iOS\Xamarin.iOS.Common.targets(747,3): error: Native linking error: warning: directory not found for option '-F/Users/vvp/Library/Caches/Xamarin/mtbs/builds/RT.iOS/9bd34334c2bb0c14c8bdf794fb67e9fc/framework' 

1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\Xamarin\iOS\Xamarin.iOS.Common.targets(747,3): error : Native linking error: framework not found ArcGIS-sim64 

在Mac上直接使用VS 2017编译工程。该应用程序部署并在iPhone模拟器上运行。我正在使用完全相同的配置。 但是,我收到以下警告,我认为这些警告与上述错误消息一致。

 /Users/vvv/Desktop/Selectron.Field.RouteTracker/RT/RT.iOS/warning MT5203: Warning: warning: ignoring file 

    /Users/vvv/Desktop/Selectron.Field.RouteTracker/packages/Esri.ArcGISRuntime.Xamarin.iOS.100.1.0/framework/ArcGIS-sim.framework/ArcGIS-sim, file was built for i386 which is not the architecture being linked (x86_64): 

    /Users/vvv/Desktop/Selectron.Field.RouteTracker/packages/Esri.ArcGISRuntime.Xamarin.iOS.100.1.0/framework/ArcGIS-sim.framework/ArcGIS-sim (RT.iOS) Native linking 

    /Users/vvv/Desktop/Selectron.Field.RouteTracker/packages/Esri.ArcGISRuntime.Xamarin.iOS.100.1.0/framework/ArcGIS-sim.framework/ArcGIS-sim, file was built for i386 which is not the architecture being linked (x86_64): 

/Users/vvv/Desktop/Selectron.Field.RouteTracker/packages/Esri.ArcGISRuntime.Xamarin.iOS.100.1.0/framework/ArcGIS-sim.framework/ArcGIS-sim (RT.iOS) Native linking 


/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/iOS/Xamarin.iOS.Common.targets(3,3): Warning MSB6002: The command-line for the "MTouch" task is too long. Command-lines longer than 32000 characters are likely to fail. Try reducing the length of the command-line by breaking down the call to "MTouch" into multiple calls with fewer parameters per call. (MSB6002) (RT.iOS) 

我试图通过视觉工作室改变支持的架构,没有运气。

我猜测MAC上的编译过程提供了某些参数,允许构建发生,无论如何。任何关于这个问题的文件或想法的建议,我都赞赏。

尚未在实际设备上进行测试。

在 用户在所讨论的文件/ VVP /库/缓存/ Xa​​marin/MTBS /建立在MAC其确实存在/ RT.iOS/9bd34334c2bb0c14c8bdf794fb67e9fc /框架”是: 的ArcGIS-SIM:一个动态链接的共享库i386 ArcGIS-sim64:一个64位动态链接的共享库x86-64

然而,ArcGis-arm看起来并不存在(它是在我的Windows机器上不是Mac上可用的)。

此外,我收到我的IOS项目文件中的以下错误,虽然我已确认有问题的文件在那里。

<Error Condition="!Exists('..\..\packages\Esri.ArcGISRuntime.Xamarin.iOS.100.1.0\build\Xamarin.iOS10\Esri.ArcGISRuntime.Xamarin.iOS.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Esri.ArcGISRuntime.Xamarin.iOS.100.1.0\build\Xamarin.iOS10\Esri.ArcGISRuntime.Xamarin.iOS.targets'))" /> 

Visual studio 16缺少最新的更新。

我应该意识到这一点,但文件位置不同。

更新visual studio和xamarin解决了这些问题。