Изучение и понимание системы сборки Xcode

Хорошо, мне интересен процесс сборки с помощью Xcode. Настройка нескольких целей, как автоматизировать управление версиями и в целом понимать систему, чтобы я мог манипулировать ею, чтобы делать то, что хочу.

Есть ли у кого-нибудь книги или могут указать мне какую-то документацию где-нибудь, чтобы я мог все это понять?

Спасибо тонну.

Другое дело, если кто-то действительно видит это, изменяя его.

Но любые книги, о которых известно, будут сосредоточены на Xcode 4? Там Xcode 3 Unleashed, но мне было бы любопытно, есть ли какие-нибудь книги, которые сильно фокусируются на Xcode 4.

Ответы

Ответ 1

Одна вещь, которая действительно необходима для последовательных, воспроизводимых, автоматизированных сборников, - это знание команды xcodebuild. К сожалению, я не могу найти никаких официальных документов на нем, кроме man-страницы (тип man xcodebuild). Там есть полезное руководство по автоматизации iphone builds здесь, которое включает в себя создание с xcodebuild и версией с agvtool. Это также актуально для общего построения приложений Mac.

В целом создание с помощью xcodebuild очень просто:

cd project_dir
xcodebuild -project myproject.xcodeproj -configuration Release ARCHS="x86_64 i386" build

Как только вы можете создать из script, как это, очень легко сложить в автоматизированную систему сборки.

Ответ 3

При компиляции исходного файла компилятор проходит несколько этапов.

  1. Preprocessing - обрабатывает язык обработки макросов, что означает замену макросов в вашем тексте их определениями. Разделяет .h и .m. В Xcode вы можете посмотреть на вывод препроцессора файла .m, выбрав

    select .m file -> Product -> Perform Action -> Preprocess
    
  2. Compiling - Генерация и оптимизация кода. Переводит код в промежуточный код низкого уровня. Xcode позволяет просматривать выходные данные сборки файла .m, выбрав. Часто вы можете увидеть этот файл при отладке кода, который вам не принадлежит

    select .m file -> Product -> Perform Action -> Assemble
    
  3. Assembling (производить .o) - помещает, преобразует (читаемый человеком) код сборки в машинный код. Он создает целевой объектный файл, часто просто называемый объектным файлом. Эти файлы имеют .o файл, заканчивающийся[Mach-O] В XCode вы найдете эти объектные файлы в папке <product_name>.build/Objects-normal внутри каталога производных данных вашего проекта.

  4. Linking (производим .app, .a, .framework...) - разрешает символы между объектными файлами и библиотеками. Компоновщик берет все объектные файлы и библиотеки и разрешает любые неизвестные символы. Затем он кодирует в конечный исполняемый файл, что этот символ можно найти в lib, и компоновщик затем выводит конечный исполняемый файл

.Также вы можете использовать Report Navigator, чтобы узнать больше о процессе сборки

Источник здесь и здесь