Создайте все цели (или схемы) в проекте Xcode.IOS

Программируем под IOS
Ответить
Anonymous
 Создайте все цели (или схемы) в проекте Xcode.

Сообщение Anonymous »


У меня есть проект Xcode со множеством целей. Шесть из них представляют собой агрегаты, которые создают финальные версии продуктов (статические библиотеки, платформы) с использованием сценариев запуска на этапах сборки. Я могу создать их по отдельности, но не могу найти способ нажать «одну кнопку», чтобы собрать их все.
Подход №1
Сначала я попробовал использовать -alltargets из командной строки, вот так:

xcodebuild -project MyProject.xcodeproj -alltargets При этом я получаю ошибки в своих тестовых объектах, утверждая, что они не созданы для тестирования. Я не знаю, что это значит, потому что обычно они «проверяют» правильно. При такой попытке что-то меняется. Но технически сюда входят цели, которые меня не интересуют. Я бы не особо возражал, если бы это сработало.
Подход №2
Затем я попробовал создать агрегат, в котором был бы сценарий запуска, который индивидуально создавал каждую цель агрегата, вот так:

xcodebuild -project MyProject.xcodeproj -target FirstAggregateTarget xcodebuild -project MyProject.xcodeproj -target SecondAggregateTarget xcodebuild -project MyProject.xcodeproj -target ThirdAggregateTarget xcodebuild -project MyProject.xcodeproj -target FourthAggregateTarget xcodebuild -project MyProject.xcodeproj -target FifthAggregateTarget xcodebuild -project MyProject.xcodeproj -target SixthAggregateTarget С точки зрения Xcode он не выдает никаких ошибок, но некоторые агрегаты просто не собираются должным образом. Я думаю, каким-то образом на сценарии запуска в отдельных агрегатах повлиял агрегат верхнего уровня.
Подход №3
Затем я попытался создать новую схему «RELEASE_PRODUCTS», в разделе сборки которой были перечислены шесть агрегатов. При этом я получил такие ошибки:


Изображение


Были также другие непонятные ошибки, связанные с тем, что продукты сборки не находились там, где они должны были находиться.
Подход №4
Затем я создал скрипт, который запускаю полностью вне Xcode, вот так:
#!/bin/bash # Собирает все релизные продукты xcodebuild -project MyProject.xcodeproj -target FirstAggregateTarget xcodebuild -project MyProject.xcodeproj -target SecondAggregateTarget xcodebuild -project MyProject.xcodeproj -target ThirdAggregateTarget xcodebuild -project MyProject.xcodeproj -target FourthAggregateTarget xcodebuild -project MyProject.xcodeproj -target FifthAggregateTarget xcodebuild -project MyProject.xcodeproj -target SixthAggregateTarget Похоже, это единственное, что работает. Но мне бы хотелось, чтобы это работало изнутри Xcode, желательно, чтобы я мог нажать на это из командной строки, если бы захотел, потому что тогда мне не пришлось бы выходить из IDE, и она могла бы сообщить об успехе или сбое.< /п>
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»