Вы строите для одной архитектуры? Если вы строите для нескольких архитектур и используете флаг компоновщика -all_load
, это нарушает способность компоновщика игнорировать символы, определенные для нескольких архитектур. В качестве теста попробуйте собрать только для armv6 и посмотрите, исчезнет ли ошибка.
Здесь есть хорошее сообщение в блоге здесь и аналогичный вопрос, обсужденный здесь .
Наконец, вы можете добавить следующую env var для устранения проблем с переопределением категорий:
OBJC_PRINT_REPLACED_METHODS=YES
. Это будет записывать, какие имена методов были переопределены по категориям, на случай, если это проблема.