解决方法:两者均实现PFLogger类/两者均实现PFFile类

时间:2019-06-10 21:42:44

标签: xcode parse-platform parse-server

当我在模拟器上运行Workspace时,我收到消息 “在(路径)和(路径)中都实现了PFFile / PFLogger类。将使用两者之一。未定义的其中之一。”

我不知道如何解决这个问题。我已经尝试过清洁和重置。

SKIP_PREFLIGHT_CHECK=true

3 个答案:

答案 0 :(得分:0)

原因

您看到此错误,因为Parse和PhotoFoundation都具有名为my_modulesPFFile的文件。在Objective-C中,您的程序不能有两个共享相同类名的类。这就是为什么Apple advocates using a three letter prefix为您自己的班级名称的部分原因。苹果自己的框架始终使用两个字母前缀,因此与PhotoFoundation相关的类具有一个PFLogger前缀。

不幸的是,在这种情况下,Parse还选择在它们所构建的库中的所有类中使用PF前缀。单独地,这不会引起问题,但是当其他框架出现时,存在命名空间冲突的风险(这正是这里发生的情况)。

解决方案

只需确保不使用相同的名称,就可以避免名称空间冲突。就您而言,您不拥有这两个类中的任何一个,因此并不那么简单。幸运的是,已经在Parse SDK GitHub page上报告了此问题,并且已在最新版本的Parse SDK(1.17.2)上实现了此修复程序。解析的PFPFFile分别重命名为PFLoggerPFFileObject

您的项目中可能安装了较旧版本的Parse SDK。可以通过进入项目的根文件夹并在任何文本编辑器中打开PFSystemLogger来验证这一点。您可以看到CocoaPods当前安装了哪个版本的库。运行Podfile.lock,CocoaPods应该将其更新到最新版本。

TL; DR pod update Parse。如果失败:pod update Parsepod repo update

答案 1 :(得分:0)

我做了此更新,然后出现了这些新错误

/Users/Sven/Documents/FT/Pods/Parse/Parse/Parse/Internal/PFLogger.h:无此类文件或目录

/Users/Sven/Documents/FT/Pods/Parse/Parse/Parse/PFFile+Deprecated.h:无此类文件或目录

/Users/Sven/Documents/FT/Pods/Parse/Parse/Parse/PFFile+Synchronous.h:没有此类文件或目录

/用户/ Sven /文档/FT/Pods/Parse/Parse/Parse/PFFile.h:没有这样的文件或目录

找不到“ Parse / PFFileObject.h”文件

无法构建Objective-C模块“解析”

感谢帮助!

答案 2 :(得分:0)

问题略有不同。 Etrecheck指出了这个问题:

MDSPathFilter类在/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Metadata (0x7fff9a7d1420)中实现

/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Support/mdbulkimport (0x10ad41948)

将使用两个中的一个。哪个是未定义的。

我对这些东西不精通,但是如果有人可以分享,则可以按照指示进行操作。他们俩看起来都太重要了,无法戳...