У меня есть проект, который не будет правильно собирать архив в Xcode 4. Мне кажется, что команды «Построить для архивирования» и «Архивировать» строятся по-разному, и я не могу определить причину, почему!
подробности:
- Рабочая область содержит два проекта: приложение и статическую библиотеку; проекты организованы как пэры.
- «Build» и «Run» работают правильно; приложение выполняется в симуляторе iOS и на устройстве.
- «Build for Running», «Build for Testing», «Build for Profiling» и «Build for Archiving» также работают правильно.
- Сборка для работы отладка, сборка для профилирования - выпуск, поэтому обе конфигурации были протестированы.
- «Архив» не работает!
Ошибка 1 (Библиотека):
Когда я пытаюсь выполнить команду «Архивировать» в библиотеке, пользовательский скрипт ресурса завершается ошибкой. Сценарий читает из каталога ресурсов ($ RESOURCES_DIR)
Для сборок релиза это сопоставляется с:
... DerivedData / App-uniquecrap / Build / Продукты / Релизы-iphoneos / Ресурсы / LibraryName
Для архива это сопоставляется с:
... DerivedData / App-uniquecrap / ArchiveIntermediates / Создание фреймворков / BuildProductsPath / Release-iphoneos / Ресурсы / Имя_библиотеки
Кроме Resources
отсутствует в ArchiveIntermediates
дереве!
ОБНОВЛЕНИЕ: Первая часть проблемы вызвана неправильным цитированием в файле скрипта. Пути Xcode4 теперь включают в себя папку со встроенным пробелом (представьте, что!), И пути в кавычках неправильно работают не так, как хотелось бы. Это исправлено, у меня все еще есть проблема, что файлы ресурсов, скопированные на этапе сборки Gather Resources, не попадают в правильное расположение; скрипт ожидает их в $ (RESOURCE_DIR), но я не могу найти правильную настройку в Gather Resources, чтобы отправить их туда. Предложения?
Ошибка 2 (приложение):
Когда мне удалось запутаться в первом сбое (обычно путем копирования файлов и обхода скрипта), я сталкиваюсь с другой ошибкой при создании приложения. «Архив» жалуется, что не может найти импортированные файлы при сборке предварительно скомпилированных заголовков.
Ничего необычного здесь тоже нет; Заголовки импортируются в файл pch обычным способом:
#import <LibraryName/Library.h>
Как и раньше, "Build", "Build for Archiving" и т. Д. Выполняются без проблем. «Архивировать» не удается. Либо включаемые пути настроены правильно, и «Архив» их игнорирует; или пути включения настроены неправильно, и XCode автоматически волшебным образом исправляет их в других сборках. (В любом случае, я очень расстроен).
Как я (A) могу заставить работать сборки Archive; или (B) выяснить, что происходит, чтобы я мог выполнить (A)?
Спасибо.