Архивирование с помощью инструмента компоновки командной строки Xcode (архив xcodebuild) - PullRequest
22 голосов
/ 22 марта 2011

Инструмент командной строки для сборки проектов Xcode, xcodebuild, имеет новое действие сборки, доступное в Xcode 4: archive.

С man xcodebuild:

       archive     Archive a scheme from the build root (SYMROOT).  This requires specifying
                   a workspace and scheme.

К сожалению,когда я пытаюсь использовать его, я получаю сообщение об ошибке:

$ xcodebuild archive -workspace SimpleTestApp.xcworkspace -scheme SimpleTestApp
xcodebuild: error: Failed to build workspace SimpleTestApp with scheme SimpleTestApp.
    Reason: The selected run destination is not valid for this action.

У меня сложилось впечатление, что это на самом деле еще не работает.Кто-нибудь получил его на работу?Если да, то как?

Ответы [ 3 ]

10 голосов
/ 13 мая 2011

Для информации, я на 99% уверен, что xcodebuild archive работал в предыдущей версии Xcode 4, возможно, Beta ... И это действительно расстраивает, так как -verbose и системные журналы не приносят много подробностей.

Так что я бы назвал это ... ошибкой!

Если вам нужна автоматизированная сборка, есть способ создать архив IPA из командной строки используя xcrun PackageApplication

С помощью xcrun для упаковки и xcodebuild для сборки, вы можете почти достичь того, что xcodebuild archive должен делать.Я бы предпочел использовать xcodebuild, поскольку мы можем ожидать, что это сгенерирует .xcarchive (.app + .dSYM), более интересный, чем IPA.

Не так не по теме, но если кто-нибудьзнает, как получить больше журналов из xcodebuild и Xcode, мне действительно интересно!

EDIT : После просмотра в форумах Apple я подтверждаю, что это ошибка Xcodeпознакомился с GM2 ... Я думаю, инженеры Apple Xcode работают над Xcode 4.1, и я думаю, что окончательная версия будет выпущена с OSX Lion ... Возможно, в июне?С исправлением?(

8 голосов
/ 25 апреля 2012

Мне кажется, это работает:

xcodebuild -project TestApp.xcodeproj  -scheme TestApp -configuration "Ad Hoc" archive
0 голосов
/ 06 мая 2011

Это работает из графического интерфейса?Project -> Build for Archive. Затем вы можете найти архив обратно в Organizer (вкладка «Архив»). Он работает для меня в графическом интерфейсе

.
...