c# - nuget 包 Xamarin.Firebase.iOS.CloudMessaging 3.1.2 的问题
问题描述
如果我安装 Xamarin.Firebase.iOS.CloudMessaging 3.1.2 nuget 包,我会收到许多错误消息。
错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)
错误 MT5210:本机链接失败,未定义符号:_FIRLogBasic。请确认所有必要的框架都已被引用,并且本地库已正确链接。
错误 MT5211:本机链接失败,未定义的 Objective-C 类:FIROptions。在与您的应用程序链接的任何库或框架中都找不到符号“_OBJC_CLASS_$_FIROptions”。
错误 MT5211:本机链接失败,未定义的 Objective-C 类:GULAppEnvironmentUtil。在与您的应用程序链接的任何库或框架中都找不到符号“_OBJC_CLASS_$_GULAppEnvironmentUtil”。
错误 MT5201:本机链接失败。请查看构建日志和提供给 gcc 的用户标志:-ObjC
错误 MT5202:本机链接失败。请查看构建日志。
我尝试卸载并重新安装 nuget 包,但仍然遇到相同的错误。
我使用 Visual Studio Community for Mac 8.1.5(内部版本 9)。
我需要 Xamarin.Firebase.iOS.CloudMessaging 因为我遵循本教程:https ://www.robbiecode.com/setup-push-notifications-with-firebase-in-xamarin-forms-for-ios/
我的项目有什么问题?我能做些什么?
我的解决方案中有以下两个项目:InapppurchaseTest.iOS、MonoGame.Framework.iOS(开发)
解决方案
好吧,这是 Firebase 和 Xamarin 的一个众所周知的问题,这里基本上发生的是旧的 bin 和 obj 文件,同时与新数据交互会覆盖 iOS 在部署时合成 IPA 所需的一些现有文件,因此结束抛出链接相关错误,请按照以下步骤操作,它将清除这个混乱。
- 清理 bin 和 obj
- 删除 MAC 机器以下路径中的构建 - ~/Library/Caches/Xamarin/mtbs/builds/ ProjNAME其中“ProjName”是您当前正在处理的项目的名称
- 完成上述两个步骤后,添加Xamarin.Firebase.iOS.CloudMessaging包并将链接器设置更改为“不链接”(暂时是这样)
- 安装这些软件包后,请注意构建项目依赖项,这意味着首先是 PCL 和 .Net 标准,然后是本机 iOS 项目。
- 如果它不适用于第一次构建,请再次清理 bin 和 obj...
如果它不重复上述过程,这应该可以解决您的问题。
编辑
如果您在这里查看 SotoiGhost 的 GitHub 评论,它会说在您的项目中的任何位置添加以下行应该可以解决此问题...
var foo = Firebase.Core.Configuration.SharedInstance;
如有问题,请随时返回
祝你好运!
推荐阅读
- react-native - react-native-actionsheet 获取选定的值
- c++ - C ++ 17迭代参数包的子集
- ios - 如何修复对等发送数据时出错?(多点连接框架)
- javascript - 无法使用 ajax 将某些文件上传到 php 服务器
- javascript - 如何提取id并在axios中发送
- excel - 在 Excel 的主工作表中创建固定单元格以从多个工作表中检索数据
- c# - 如何将正文中的 null 传递到 asp.net core 3.1 中的端点
- c++ - cpp 中的 WaitForSeconds 函数
- android - contentResolver 不会在子目录中递归搜索
- python - 使用 Python 将 csv 列中的测试数据拆分为多个