Skip to content

Xcode 4 Archiving Issue: 'Does not contain a single bundle'

doronkatz edited this page Nov 12, 2011 · 1 revision

Using RestKit, like perhaps many other third-party libraries, are made up of static libraries. The problem with XCode 4 is that when you archive your app, XCode 4 doesn't bundle it as a single bundle which means, you get the painful error when you submit it of

[Your App Name] does not contain a single-bundle application or contains multiple products. Please select another archive, or adjust your scheme to create a single-bundle application.

XCode Archiving error

So, we need to follow some steps, in order to prevent multiple-bundling, or referencing other libraries in a different bundle, all in the one archive. Find all static libraries (ones usually have the project icon and are sitting on the left-hand navigator side. Go to the build settings and :

  1. search for Skip Install and select YES instead of NO.
  2. in build phases, under copy headers, move all public and private files to Project section.

Now, after you follow those steps and you still get the error, this means that you must have missed one of the static libraries from the steps above. Go to the organizer-->archive screen in XCode, find the app you just tried to archive, select the app and right click to show in Finder.

Archive screen

Select the archive file and then right click, select Show all contents. Here you can see all the files that have been bundled in this archive. You would normally see what is shown in the illustration below, but if you missed any of the static libraries, they will also appear in the hierarchy below, such as JSScrollBarViewController for example. If they do show up, you know which static library you missed and you can go find that one and do the steps mentioned above.

In the archive