Xcode 4 – Problem submitting App with Static Library

I’m submitting a new version of my Migraine Diary App to the App Store and was running into problems with Xcode 4 giving me the following error: “[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.”

There is an issue or maybe it’s an intentional design thing with Xcode 4 and how it handles statically built libraries being included in your project.  I’m specifically using Core Plot and it’s instruction set hasn’t been updated for Xcode 4 yet.  Here are the things I had to do to get Core Plot to bundle correctly with my App to submit it:

  1. Click on the Core Plot project which should be a child of your App’s project.
  2. Click on the Project CorePlot-CocoaTouch and go to the Build Settings.  Set “Skip Install” to Yes.
  3. Click on the CorePlot-CocoaTouch target and set “Skip Install” to Yes.
  4. Click Build Phases and under Copy Headers, move all of the Public and Private entries to the Project section.

You should then be able to build your project for Archive and submit to Apple.

Thanks to Apple Dev Forums – https://devforums.apple.com/thread/86137

11 thoughts on “Xcode 4 – Problem submitting App with Static Library

  1. Siva

    Additionally Add all the core plot header files to the Main Project instead of header search path. This will help with auto complete of core plot methods.

    Like

  2. Angelo

    I’ve been a developer for a long time, and have never posted to a comment to a personal blog just to say thank you, but THANK YOU! You saved me hours and hours of hair pulling. All of the other posts on the web talk about the ‘Skip Install’ step, but you are the only one who I found who added the additional step of moving the Public and Private Entries. Thanks!!

    Like

  3. Miles

    oh man, thanks. Same as Angelo, I was going crazy knowing that skip install was yes, but until now didn’t know about the public/private/project stuff. life saver.

    Like

  4. Whew, saved me a load of time. Was a little worried when the usual “skip install” step still didn’t work lol. Followed steps exactly and it builds like a charm.

    Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s