Я столкнулся с этой проблемой, потому что новый Facebook SDK 3.0 теперь является статической структурой, которая также включает SBJSON, у меня также есть другая статическая структура, которая также включает в себя тот же класс. Первоначально я просто заходил и редактировал исходные файлы Facebook SDK и применял пользовательский префикс к классам SBJSON. Это больше не работает.
Я начал очень расстраиваться и начал мыслить нестандартно, вот решение, которое я нашел.
- Перейдите к FacebookSDK.framework-> Версии-> Текущая
- Откройте скомпилированный файл библиотеки FacebookSDK с лучшей IDE, textedit подойдет!
- Поиск с учетом регистра и заменить все вхождения "SBJson" на "FBJson"
- Поиск с учетом регистра и замена всех вхождений "SBJSON" на "FBJSON"
- Сохраните, очистите, скомпилируйте, все готово!
Кто знал, что это сработает?
Примечание: некоторые скажут, почему заменить на FBJson, а не FBSBJson? Я решил, что было бы лучше сохранить его одинаковой длины символов, чтобы быть в безопасности.
Примечание. Если вы пытаетесь сделать это с другими платформами, обязательно найдите в заголовочных файлах любые ссылки на конфликтующий класс, который вы переименовываете. В этом случае переименованный класс не упоминался ни в одном из заголовочных файлов. Если бы это было так, я бы обязательно переименовал его в заголовочных файлах.