Полностью поддерживаю! Первое время сам удивлялся и почему c CoreData все так тормозит, причем даже на незначительных объемах данных. Как только разобрался все встало на свои места.
Скорее всего только косвенно можно определить, что сборка выполняется для архива. При запуске вашего скрипта будут выставленны переменные окружения, так вот по ним и можно определить, что идет архивирование.
Вариант первый
BUILD_DIR, BUILD_ROOT и др. содержат в пути компоненту 'ArchiveIntermediates'. Ненадежно, поскольку подозреваю может меняться от версии к версии XCode.
Вариант второй
Задать для архивирования специальную конфигурацию, тогда переменная окружения CONFIGURATION подскажет скрипту надо ли накинуть номер билда.
Многие «обычные» пользователи (подозреваю, что таких большинство) владеют мышкой хуже чем пальцем. Так что для них, большие кнопки, это плюс к удобству.
Только есть пара важных моментов
1) Ваша база должна быть создана с использованием CoreData. Так как любой файл SQLite не может быть прочитан в CoreData, нужно описание графа объектов в нем хранящихся
2) Файл БД, добавленный в проект как ресурс, не будет доступен для модификации, так как будет находится в папке защищенной от записи.
Вот этого, на сколько я знаю, не получится сделать, если речь идет не об использовании предикатов.
Вариант первый
BUILD_DIR, BUILD_ROOT и др. содержат в пути компоненту 'ArchiveIntermediates'. Ненадежно, поскольку подозреваю может меняться от версии к версии XCode.
Вариант второй
Задать для архивирования специальную конфигурацию, тогда переменная окружения CONFIGURATION подскажет скрипту надо ли накинуть номер билда.
А Вы случаем не знаете, как можно эти компоненты один раз скачать и потом установить на N машин?
1) Ваша база должна быть создана с использованием CoreData. Так как любой файл SQLite не может быть прочитан в CoreData, нужно описание графа объектов в нем хранящихся
2) Файл БД, добавленный в проект как ресурс, не будет доступен для модификации, так как будет находится в папке защищенной от записи.