Да, название гласит:-) Что они означают на простом английском языке? Я действительно не понимаю объяснений на веб-сайте Apple, и мне нужно переименовать мою цель, и я боюсь, что после этого ничего не будет.
Xcode: Что такое цель и схема на понятном языке?
Ответ 1
Я добавил в Workspace и Project тоже!
- Рабочая область. Содержит один или несколько проектов. Эти проекты обычно связаны друг с другом.
- Проект. Содержит код и ресурсы и т.д. (вы будете к этому привыкли!)
- Цель. Каждый проект имеет одну или несколько целей.
- Каждая цель определяет список настроек сборки для этого проекта
- Каждая цель также определяет список классов, ресурсов, пользовательских сценариев и т.д. для включения/использования при создании.
- Цели обычно используются для разных распределений одного и того же проекта.
- Например, мой проект имеет две цели: "нормальную" сборку и "офисную" сборку, которая имеет дополнительные функции тестирования и может содержать несколько фоновых музыкальных дорожек и кнопку для изменения дорожки (как это происходит в настоящее время).
- Вы будете использовать для добавления классов и ресурсов к своей цели по умолчанию при их добавлении.
- Вы можете выбрать, какие классы/ресурсы будут добавлены к какой цели.
- В моем примере у меня есть класс "DebugHandler", который добавлен в мою офисную сборку
- Если вы добавляете тесты, это также добавляет новую цель.
- Схема. Схема определяет, что происходит, когда вы нажимаете "Build", "Test", "Profile" и т.д.
- Обычно каждая цель имеет по крайней мере одну схему
- Вы можете автосоздавать схемы для своих целей, перейдя в схему > "Управление схемами" и нажав "Автосоздать схемы сейчас"
Ответ 2
A target - конечный продукт, созданный при запуске "build" в Xcode. Это может быть приложение, или фреймворк, или статическая библиотека, или пакет unit test. Как бы то ни было, он обычно соответствует одному элементу в папке "встроенные продукты".
A схема представляет собой набор целей, с которыми вы работаете вместе. Он определяет, какие цели используются при выборе различных действий в Xcode (Run, Test, Profile и т.д.). Часто у вас будет только одна схема, в которой используется основная цель приложения для действий Run, Archive и Profile и unit test для тестового действия. Если вы строите два связанных приложения, у вас могут быть две схемы, которые использовали один и тот же набор unit test, но разные целевые приложения.
Основное преимущество схем (введенных в Xcode 4) заключается в том, что они позволяют переключаться между запуском приложения и вашими модульными тестами без необходимости переключения выбранной цели.
Ответ 3
Я визуальный человек, поэтому для объяснения концепции я буду использовать диаграмму.
Если у вас есть несколько целей, они могут быть индивидуально согласованы с действиями Xcode Run, Test, Profile, эта концепция определяет схему
A target - это версия вашего проекта, то есть цели немного отличаются в классах и ресурсах для использования в течение встроенного времени. Проект может иметь несколько встроенных настроек времени для отдельных требований к распределению.
Ответ 4
Workspace
(.xcworkspace
) - это контейнер из нескольких объектов projects
. Он был создан как следующий шаг из cross-project references
[About]
Workspace
содержит всеschemes
из включенногоprojects
Workspace
обрабатывает всеimplicit dependencies
[About]
Замечания:
- Безопасно работать с разными проектами внутри одного
workspace
и не ловитьCouldn't load Project.xcodeproj because it is already opened from another project or workspace
Cocoapods
[About] работает сworkspace
, где создает проектPods
Project
(.xcodeproj
) - это контейнер для targets
и scheme
. Он используется для определения среды сборки, инструментов, ресурсов и содержит ссылки на файлы кода.
Target
- PBXNativeTarget
раздел. Определяет определенный набор параметров сборки, которые сопровождают набор правил сборки.
Application targets
используются для создания исполняемых двоичных файлов.Library and framework targets
сборка двоичных файлов библиотеки кодов.Test
- Включает набор для тестирования пользовательского интерфейса iOS и пакет для тестирования iOS UnitAggregate
[About] - у него есть толькоRun Script
фаза сборки илиCopy Files
фаза сборки. Например. он используется для созданияUniversal framework
илиUmbrella framework
Scheme
- еще один элемент проектов Xcode - схемы. Проект может иметь несколько из них, и они могут быть общими и включены как часть проекта для использования людьми, работающими над проектом. Схемы определяют конфигурацию для каждого из доступных действий в XCode: выполнить, тестировать, профиль, проанализировать и архив.
Dependency
- Targets
может иметь dependencies
. Зависимости - это фреймворки или библиотеки, с которыми связаны наши цели. Эти зависимости могут быть связаны статически или динамически[About] Существует два их типа: