Причина
Вы видите эту ошибку, потому что 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