Steven Fisher
Steven Fisher

Reputation: 44886

Archive with Xcode's command line build tool (xcodebuild archive)

The command line tool to build Xcode projects, xcodebuild, has a new build action available in Xcode 4: archive.

From man xcodebuild:

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

Unfortunately, when I try to use it I get an error:

$ 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.

My impression is this doesn't actually work yet. Has anyone got it to work? If so, how?

Upvotes: 24

Views: 23660

Answers (3)

Daniel X Moore
Daniel X Moore

Reputation: 15070

This seems to work for me:

xcodebuild -project TestApp.xcodeproj  -scheme TestApp -configuration "Ad Hoc" archive

Upvotes: 8

Vincent Guerci
Vincent Guerci

Reputation: 14419

For information I'm 99% sure that xcodebuild archive was working in a previous Xcode 4 version, maybe a Beta... And this is really frustrating since -verbose and syslogs doesn't bring much details.

So I would call that... a Bug!

If automating your build is what you are looking for, there is a way to generate IPA archive from command line using xcrun PackageApplication

With xcrun to package and xcodebuild to build, you can almost achieve what xcodebuild archive is supposed to do. I would prefer to use xcodebuild since we can expect this to generate a .xcarchive (.app + .dSYM), more interesting than an IPA.

Not so off-topic, but if anyone knows how to get more logs from xcodebuild and Xcode, I'm really interested!

EDIT: After looking in Apple Forums, I confirm this is an Xcode BUG introduced with GM2... I guess Apple Xcode engineers are working on Xcode 4.1 that I think final version will be released with OSX Lion... In june maybe? With a fix? :(

Upvotes: 11

Sébastien Stormacq
Sébastien Stormacq

Reputation: 14905

Is this working from the GUI ? Project -> Build for Archive Then you can find the archive back in Organizer (archive Tab) It is working for me in the GUI

Upvotes: 0

Related Questions