I just upgraded to Xcode 4 and am trying to create an adhoc build of an earlier project. Whenever I use the \"Archive\" option I either end up with no archive at all in the
Skip install didn't work for me. I solved this problem moving all headers marked as public to project. I'm currently working in a workspace with a static lib and an ipad proj. Seems like there is a bug or something with xcode whenever you want to build your product with a linked project, xcode builds both and Organizer doesn't show an option to share an ipa.
Here's two other tips that we found useful with this problem...not answers but they may save someone else a LOT of time messing around 8/
If you're using static libs that are NOT being built by xcode4 then the "deployment->skip install" workaround won't work for them. The work around for that is to NOT add them to the project and make sure their paths are in the Header and/or Library Search Paths in your Build Settings plus the -lblah entries are added to the Linker Flags.
Also, if you have a static lib set as a Target Dependency (e.g. we had libjson.a set as this and I'm pretty sure that's the correct/logical thing to do) then you simply won't be able to build .ipa's no matter what. We spent more than a full day dancing around with this stupid problem and in the end just removing this solved it. Personally I think this should really leave a broken project...but it works so meh.
you may have some linked projects (like librairies) inside your main project. Go to the Build settings of those projects and set the setting "Skip install" (Deployement category) to "Yes", but leave the "Skip install" of the main project to "No". Build, archive, and you should be able to select the ipa package.
These are steps to solve above problem in xcode 4.2
1: " Skip to install" to YES for all third part libraries which are added. "Skip to install" to NO for your project.You can access "Skip to install" from Build settings.
2:Select your third party library headers from left Navigator pane.
2.1:On the right is Utililtes pane.Show and hide it with view ->utilities->show/hide utilities (command-Option-0) or with third button in the view segmented control in the toolbar
2.2: select file inspector(command-option-1)
2.3 choose Target membership and change option to 'Project' from public or private
In order to figure out what project/library/component that is preventing Xcode from making a proper archive do this:
Find the archive in the Organizer, right-click and show in finder. This will show an .xcarchive file. Right-click and Show Package Contents. Now look in the Products folder. Most likely there will be more than just an Application folder with one iPhone application inside.
In my case there was a usr/local/lib folder structure containing libOAuthConsumer_iPhone.a and when I searched for that in Xcode, I did indeed find another project where I haden't set Skip Install to YES. It may not be so easy for everyone but looking inside the package should at least give you a pointer as to which component is messing up the archive process.
Thanks but I needed 3 steps to entierly solve the problem with my project framework:
set the Target Build Settings/"Skip Installation" property to "YES" for every dependency project
clear the Target Build Settings "Installation Directory" property for every projects
for every projects, move every headers from section "Build Phases/Build Settings/Copy Headers" Public/Private to Project