I did the following to make it work for me:
- for the three20 static library, I used cocoapods to include the files within the main project.. it just got rid of all the trouble three20 was giving me (and they are lots..) btw i tried replacing three20 with Nimbus.. but Nimbus was lacking on some of the features that my project was using three20 for.. so Nimbus wasn't helpful.
- set skip install to yes under build settings for all other sub projects/static libraries and switched the copy headers from public to project under build phases
- most importantly: under the sub libraries.. under build phases i ensured that copy files destination was changed from
Absolute path
to products directory
.
and that was it!
hint: to get an idea of the offending files that's causing your archive to create an archive file rather than an ipa do this:
- Select the archive and click the Distribute button.
- Select the 'Save Built Products' option.
- Hit Next and Save.
- Browse the created directory in Finder.
- The 'libraries' subdirectory will identify the libraries that you need to set the Skip Install to Yes.
- in some cases
usr/local/include
will identify the culprit header files you need to move from Public to Project or the files that you have to change from absolute path to products directory. but that directory (ie usr/local/include) varies depending on your sublibrary directory structure