После того, как я воспользовался услугами какого-то колдуна, я понял, как заставить Thrift работать с iPhone / iPad (или, по крайней мере, заставить его скомпилироваться).
Во-первых, вы хотите получить файлы target-c с помощью этой команды, а не из вики:
svn co http://svn.apache.org/repos/asf/incubator/thrift/trunk/lib/cocoa/src/ thrift-cocoa
Затем создайте новый проект Xcode, перейдя в New Project, выбрав Framework & Library и Cocoa Framework. Нажмите создать и сохранить его где-нибудь приятно. Щелкните правой кнопкой мыши Targets и выберите Add -> New Target. Выберите «Какао Touch», а затем «Статическая библиотека». Дайте ему хорошее имя. Перейдите на вкладку «Сборка» цели в информации и измените Базовый SDK на iPhone Device (я использую 3.2, но вы можете использовать все что угодно) и измените Архитектуру на Стандартную (armv6 armv7) или Оптимизированную (armv7). Под вкладкой General добавьте основы и Cocoa.
Перетащите все файлы и папки, полученные из репозитория svn, в папку Classes в проекте. Установите флажок копировать элементы и установите флажки рядом с обоими целями. Удалите TSocketServer.h и .m из папок «Копировать заголовки» и «Компилировать источники» статической библиотеки соответственно. Теперь вы можете создать Статическую библиотеку (и опционально Framework).
Откройте проект, в котором вы хотите использовать Thrift, и перейдите на вкладку Общие вашей цели в информации. Добавьте статическую библиотеку, которую вы только что создали, в список связанных библиотек. Он должен быть назван libYOUR_TARGET_NAME.a. На вкладке «Сборка» перейдите в «Пути поиска по заголовкам» и добавьте путь к только что созданному проекту Thrift и установите флажок рекурсивного типа.
Наконец, вам просто нужно изменить операторы импорта в сгенерированном Thrift-коде, просто удалив скобки и заменив их кавычками. Теперь вы можете снова построить свой проект iPhone.