xcode - 如何修复:PFLogger 类在两者中都实现/PFFile 类在两者中都实现
问题描述
当我在模拟器上运行我的工作区时,我收到消息“在(路径)和(路径)中都实现了类 PFFile/PFLogger。将使用两者之一。哪个未定义。”
我不知道如何解决这个问题。我已经尝试过清洁和重置。
objc[7398]: Class PFFile is implemented in both
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/PhotoFoundation.framework/PhotoFoundation (0x11fdaf1b8)
and
/Users/Sven/Library/Developer/CoreSimulator/Devices/20F88AC5-6C5F-4492-8324-9205B54FB32C/data/Containers/Bundle/Application/8DD1D026-2D96-49E1-A485-6FCBD9899005/FitTip.app/Frameworks/Parse.framework/Parse (0x108c27408).
One of the two will be used. Which one is undefined.
objc[7398]: Class PFLogger is implemented in both
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/PhotoFoundation.framework/PhotoFoundation (0x11fdaff28)
and
/Users/Sven/Library/Developer/CoreSimulator/Devices/20F88AC5-6C5F-4492-8324-9205B54FB32C/data/Containers/Bundle/Application/8DD1D026-2D96-49E1-A485-6FCBD9899005/FitTip.app/Frameworks/Parse.framework/Parse (0x108c279f8).
One of the two will be used. Which one is undefined.
解决方案
原因
您看到此错误是因为 Parse 和 PhotoFoundation 都有名为PFFile
和的文件PFLogger
。在 Objective-C 中,您的程序不能有两个共享相同类名的类。这也是 Apple 提倡为您自己的类名使用三个字母前缀的部分原因。Apple 自己的框架总是使用两个字母前缀,因此与 PhotoFoundation 相关的类有一个PF
前缀。
不幸的是,在这种情况下,Parse 还选择PF
在他们构建的库中的所有类中使用前缀。单独来看,这不会造成问题,但是当其他框架出现时,就会存在命名空间冲突的风险(这正是这里发生的情况)。
解决方案
您只需确保不使用相同的名称即可避免命名空间冲突。在您的情况下,您不拥有这些类中的任何一个,因此它并不那么简单。幸运的是, Parse SDK GitHub 页面上已经报告了此问题,并且已在最新版本的 Parse SDK (1.17.2) 上实施了修复。Parse 的PFFile
和PFLogger
分别重命名为PFFileObject
和PFSystemLogger
。
您的项目中可能安装了旧版本的 Parse SDK。这可以通过进入项目的根文件夹并Podfile.lock
在任何文本编辑器中打开来验证。您可以看到 CocoaPods 当前安装了哪个版本的库。Runpod update Parse
和 CocoaPods 应该将它更新到最新版本。
TL;博士pod update Parse
。如果失败:pod repo update
,pod install
推荐阅读
- vue.js - Bootstrap-vue 将两个键加入一个标签
- c# - 使用 C# 制作 Outlook 服务器端规则
- reactjs - 如何在 react 组件中定位 DOM 元素,还是应该避免将 DOM 元素一起定位?
- azure - New-AzRoleAssignment:无法验证参数“ObjectId”上的参数
- python - 用硒抓取 ebay 的网页
- openedge - ** 数字输入 / 中的无效字符。(76) - 进步 4GL
- dhtmlx-scheduler - DHTMLX 调度程序时间线获取单元信息
- json - 在bash中用数组替换键
- mongoose - 如何实现猫鼬主键工厂?
- javascript - Async/Await ReferenceError:找不到变量:regeneratorRuntime