Как исправить: класс PFLogger реализован в обоих / Класс PFFile реализован в обоих - PullRequest
0 голосов
/ 11 июня 2019

Когда я запускаю свою рабочую область на симуляторе, я получаю сообщение «Класс PFFile / PFLogger реализован в обоих (Path) и (Path). Будет использован один из двух. Какой из них не определен».

Я не знаю, как решить эту проблему.Я уже пробовал очистить и сбросить настройки.

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.

Ответы [ 2 ]

0 голосов
/ 13 июня 2019

Я сделал это обновление, тогда появились эти новые ошибки

/ Users / Sven / Документы / FT / Pods / Parse / Parse / Parse / Internal / PFLogger.h: Нет такого файла или каталога

/ Пользователи / Свен / Документы / FT / Pods / Parse / Parse / Parse / PFFile + Deprecated.h: Нет такого файла или каталога

/ Пользователи / Свен / Документы / FT / Модули / Разбор / Разбор / Разбор / PFFile + Synchronous.h: Нет такого файла или каталога

/ Пользователи / Свен / Документы / FT / Pods / Parse / Parse / Parse / PFFile.h: Нет такого файла или каталога

Файл 'Parse / PFFileObject.h' не найден

Не удалось построить модуль Objective C 'Parse'

Спасибо за помощь!

0 голосов
/ 12 июня 2019

Причина

Вы видите эту ошибку, потому что Parse и PhotoFoundation имеют файлы с именами PFFile и PFLogger. В Objective-C ваша программа не может иметь два класса с одинаковым именем. Это одна из причин, по которой Apple рекомендует использовать трехбуквенный префикс для собственных имен классов. В собственных каркасах Apple всегда используются двухбуквенные префиксы, поэтому классы, связанные с PhotoFoundation, имеют префикс PF.

К сожалению, в этом случае Parse также решил использовать префикс PF для всех классов в созданной ими библиотеке. В отдельности это не вызовет проблем, но когда в картину вступают другие фреймворки, возникает риск коллизий пространства имен (что именно здесь и происходит).

Решение

Вы избегаете столкновения пространства имен, просто следя за тем, чтобы не использовать те же имена. В вашем случае у вас нет ни одного из этих классов, так что это не так просто. К счастью, об этой проблеме уже сообщалось на странице Parse SDK GitHub , и исправление было реализовано в последней версии Parse SDK (1.17.2). PFFile и PFLogger Parse были переименованы в PFFileObject и PFSystemLogger соответственно.

Возможно, в вашем проекте установлена ​​более старая версия Parse SDK. Это можно проверить, зайдя в корневую папку проекта и открыв Podfile.lock в любом текстовом редакторе. Вы можете увидеть, какая версия библиотеки в настоящее время установлена ​​CocoaPods. Запустите pod update Parse, и CocoaPods должен обновить его до последней версии.

TL; DR pod update Parse. Если это не удается: pod repo update, pod install

...