У меня есть статическая библиотека (назовем это S), которая использует категорию (NSData + Base64 из MGTwitterEngine) и библиотеку C (в оболочке MiniZip) ZipArchive, файл мм ).
Эта статическая библиотека используется в проекте iPhone 3.x (назовем это A). Чтобы иметь возможность использовать библиотеку MiniZip, я включил ее файлы в проект A, а также статическую библиотеку S. Если нет, я получаю ошибки компиляции.
Project A отлично работает на симуляторе. Когда я запускаю его на устройстве, я получаю нераспознанные ошибки селектора при использовании категории.
Как указывалось здесь, похоже, есть ошибка компоновщика , которая влияет на категории в iPhone 3.x ( Категории в статической библиотеке для устройства iPhone 3.0 ). Обходной путь - добавить -all_load в другие флаги компоновщика проекта, который ссылается на статическую библиотеку.
Однако, если я сделаю это, то получу двойные ошибки символов, потому что я включил библиотеки MiniZip в проект A.
Обходной путь должен также включать файлы категорий в проект А. Если я это сделаю, проект А будет хорошо работать на устройстве, но не сможет создать симулятор из-за дублированных ошибок символов.
Как мне настроить проект A, чтобы он работал на симуляторе и устройстве с одинаковой конфигурацией?