51
votes

Running in Xcode is correctly, but when I want to use command line with $ /usr/bin/xcodebuild -scheme projectA -workspace projectA.xcworkspace -configuration Debug clean build

And come up with the following.

=== BUILD NATIVE TARGET projectA OF PROJECT projectA WITH CONFIGURATION Debug ===
Check dependencies
No architectures to compile for (ONLY_ACTIVE_ARCH=YES, active arch=x86_64, VALID_ARCHS=armv7 armv7s).

In Build Settings are:

  • Architectures: Starndard (armv7, armv7s)
  • Base SDK: Latest iOS (iOS 6.0)
  • Build Active Architecture Only: Debug Yes, Release No
  • Valid Architectures: armv7 armv7s

After I change Build Active Architecture Only = No, then the build was BUILD SUCCEEDED.

What is the suggestion setting for this situation, to build success under commend line mode? Thanks.

2

2 Answers

74
votes

You can set the "Build Active Architecture Only" and "Archs" values from command line itself. We set ARCHS="armv7 armv7s" ONLY_ACTIVE_ARCH=NO.

Eg

/usr/bin/xcodebuild ARCHS="armv7 armv7s" ONLY_ACTIVE_ARCH=NO -workspace -scheme ......

This will free you from manually changing the values in your project settings.

0
votes

In my case it was empty cell in the 'valid architectures' on the target level which resulted in empty 'resolved' cell.

That lead to empty 'valid architectures' parameter and at the end linker error.