nomad-cli / shenzhen

CLI for Building & Distributing iOS Apps (.ipa Files)
MIT License
4.65k stars 493 forks source link

ipa build Fail #53

Closed zxm9988 closed 10 years ago

zxm9988 commented 11 years ago

I was created a empty project.
I set Run/Archive Build Configuration is Debug and set Use Debug for command-line builds

ipa build  

error

 Configuration was not passed, defaulting to  Debug
 Building "nomad.xcodeproj" with Scheme "nomad" and Configuration "Debug"

     xcodebuild  nomad.xcodeproj
** BUILD FAILED **

The following build commands failed:
Check dependencies
(1 failure)
samyukt commented 11 years ago

I faced similar issue i think you have installed Xcode 5 DP and this is causing the problem. try running $ xcode-select --print-path

if this points to Xcode 5 DP . Switch back to Xcode version you are using.

Run command : $sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer

Hope this solves your issue.

For more info check : https://github.com/nomad/shenzhen/issues/52

zxm9988 commented 11 years ago

I can build the adHoc ipa manually. But ipa build not work . Is there something wrong with my build setting

zmcartor commented 11 years ago

I'm also having the same issue when running ipa build:

The following build commands failed: Check dependencies (1 failure)

This is on a completely vanilla app. (Birdwatching sample app from Apple). Both Release and Debug configurations are present. The application builds correctly in Xcode and with xcodebuild. Could someone offer additional troubleshooting information?

I am not using Cocoapods or have ever installed Xcode 5.

Thank you very much for the help! :smile:

zmcartor commented 11 years ago

FWIW, ipa successfully builds anything other than the Debug configuration. ipa -c Release builds correctly. What could be wrong with the 'Debug' configuration ?

enriquez commented 11 years ago

I was able to fix this by merging https://github.com/codecaffeine/shenzhen/compare/default-config-from-build-settings into master. See enriquez/shenzhen@f29ad02b32f46abce8c4b35ac865d2b5f7f011d5

I think the commit at codecaffeine/shenzhen@260d804 was lost when #27 was merged. That commit removes the check on the build configuration and leaves it up to xcodebuild to check if the build configuration is valid.

mattt commented 10 years ago

I've completely lost the thread on this. I believe everything is working correctly on master now. FWIW, build errors are now easier to debug, by passing the --verbose flag.

phynet commented 9 years ago

This an old really old post. But, I'm seeing this error now.

I'm using

ipa  build --embed "iOS Team Provisioning Profile" --verbose

And is showing me this error:

[BEROR]CodeSign error: code signing is required for product type 'Application' in SDK 'iOS 8.1'

Ok, so, if I sign it manually in (Build Settings --> Code Signing) with correct Provisioning Profile AND Code Signing Identity, creates the ipa without problems. Although, this is not what I would like to do, because I need to automatize this step...

What command should I use? :weary:

Thank you very much for this lib.

Greetings

KrauseFx commented 9 years ago

In general, the --embed option will not be taken into account by xcodebuild, don't know if that's a bug or by design.

Your project must be correctly configured to use the correct provisioning profile.

phynet commented 9 years ago

So @KrauseFx , is mandatory to assign the Code signing and the Provisioning Profile in XCode IDE...

Running the xcrun command shows the same result, and is .... sad...

xcrun -sdk iphoneos PackageApplication -v ~/XcodeCommandLine/sym.root/Debug-iphonesimulator/MyTarget.app -o some_path

Codesign check fails : /Users/xxxx/XcodeCommandLine/sym.root/Debug-iphonesimulator/MyappTarget-cal.app: code object is not signed at all In architecture: i386

Thanks for the answer.

KrauseFx commented 9 years ago

Yes. That means your project settings are somehow incorrect.

phynet commented 9 years ago

Well, I just wanted to say, even if this right now an old post... that I wrote this script to simplify signing when using automated testing (Because I needed to create an ipa and deploy it, without using Xcode while using Jenkins). https://github.com/phynet/SSCodesigningXcode

Thanks for your help @KrauseFx

KrauseFx commented 9 years ago

So what SSCodesigningXcode does: it modified the Xcode project code signing settings to match the correct ones, right? You'd run this before building using shenzhen.

If so, I implemented something similar integrated into fastlane: update_project_code_signing

phynet commented 9 years ago

Haha, yep, the same thing, didn't know you have this!!. But I'm newbie using Ruby so...I learned a little doing it anyway. :3

I will take a look at your code. Thanks :+1:

KrauseFx commented 9 years ago

Cool. This fastlane action was not officially announced yet, but is already included in the last release. It will only set the correct UDID, as the code signing identity can just be set to default.

phynet commented 9 years ago

Excellent then! good job! I will keep my eye on it.

Although,I will have to change mine later, because I'm using calabash-ios; it creates a new target, so the .pbxprj file changes his format, so I'll have to adjust it to the "new" format. It's already done but not pushed yet; but anyway, this is for a particular use only.

Thank you for sharing, your library looks good!