尝试使用 MTAdmob 插件在 Maui 应用程序(新从 Xamarin 转换而来)上实现 Admob。在 Android 上运行正常,但在 iOS 上出现以下错误。我确信这个插件/广告导致了错误,因为当我删除包时我可以构建没有问题。
有人对这个错误有任何见解吗?似乎来自 UserMessagingPlatform 包,但该包是在上面链接的示例中安装的。此外,删除 UserMessagingPlatform 包并不能消除构建时的错误。
我正在 VS for Windows 中进行开发,并与 Mac 配对以使用 iOS 模拟器。
错误:
clang++ 退出,代码为 1:ld: 在 /Users/MyUsername/Library/Caches/Xamarin/mtbs/builds/MyMauiApp/02b2e598cb2d297dae247439d1eb22d4a6d0f9fcdb24b3f87159ce66eb0c1c18/C:/Users/MyUsername /AppData/Local /XamarinBuildDownloadCache/GUsrMess-1.1.0/Frameworks/ Release/UserMessagingPlatform.framework/UserMessagingPlatform(UMPView.o),为 iOS 模拟器构建,但链接到为 iOS 构建的目标文件,文件 '/Users/MyUsername /Library/Caches/Xamarin/mtbs/builds/MyMauiApp/02b2e598cb2d297dae247439d1eb22d4a6d0f9fcdb24b 3f87159ce66eb0c1c18/C: /Users/MyUsername/AppData/Local/XamarinBuildDownloadCache/GUsrMess-1.1.0/Frameworks/Release/UserMessagingPlatform.framework/UserMessagingPlatform' 对于架构 arm64clang:错误:链接器命令失败,退出代码 1(使用 -v 查看调用)
已安装的软件包:
<ItemGroup>
<PackageReference Include="CommunityToolkit.Maui" Version="9.0.2" />
<PackageReference Include="Microsoft.Maui.Controls" Version="8.0.70" />
<PackageReference Include="Microsoft.Maui.Controls.Compatibility" Version="8.0.70" />
<PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="8.0.0" />
<PackageReference Include="Plugin.MauiMTAdmob" Version="1.4.5" />
</ItemGroup>
<ItemGroup Condition="'$(TargetFramework)' == 'net8.0-ios'">
<PackageReference Include="Xamarin.Google.iOS.MobileAds" Version="8.13.0.3" />
<PackageReference Include="MT.Xamarin.Google.iOS.UserMessagingPlatform" Version="1.1.0.4" />
</ItemGroup>
如果您在使用 Mx 处理器的 Mac 上编译应用程序,您可能会收到有关架构的错误,要修复它,请将以下行添加到您的 csproj 文件中:
<PropertyGroup Condition="$(TargetFramework.Contains('-ios'))">
<RuntimeIdentifier>iossimulator-x64</RuntimeIdentifier>
</PropertyGroup>
<PropertyGroup>
<ForceSimulatorX64ArchitectureInIDE>true</ForceSimulatorX64ArchitectureInIDE>
</PropertyGroup>