1478

I can't find the good old "Add existing frameworks" option. How do I do this?

We're talking about Xcode 4 DP2 (in the context of iPhone development, as far as it matters...).

3
  • I would like to point out that if you can't find "Link Binaries With Libraries" in your build phases tab click the "Add build phase" button in the lower right corner. Commented Mar 14, 2011 at 19:57
  • 26
    I can't believe that: a. there's a (integrated, none the less) IDE+SDK out there in 2012 that still doesn't make clear how to add one of the bundled frameworks to a project. b. such a (normally) trivial subject got so much attention. c. the solution in so convoluted. Commented Aug 19, 2012 at 8:14
  • 8
    I kept right-clicking the Frameworks folder in my project figuring there should be a contextual menu item there for this; there isn't, and xcode, somewhat like the over-extended iTunes app, is often not consistent, logical or intuitive. Sadly, with my xCode version (4.4), using help menu search crashed the app just as the relevant help page came up. I'm one update behind the latest xCode release, but switching horses with an overdue deadline seems like a bad idea (even though I hope they fixed the "help" crashing in the update)
    – wkw
    Commented Sep 8, 2012 at 14:03

10 Answers 10

1754

As per Apple's documentation:

  1. In the project navigator, select your project.
  2. Select your target.
  3. Select the "Build Phases" tab.
  4. Open "Link Binaries With Libraries" expander.
  5. Click the + button.
  6. Select your framework.
  7. (optional) Drag and drop the added framework to the "Frameworks" group.
19
  • 14
    For me at least, if you move the framework into any of the groups after this, it stops working.
    – mk12
    Commented Aug 17, 2010 at 23:08
  • 4
    I just tried this with the latest build and didn't have any issues with moving the framework to the Frameworks group after it was added to the build.
    – memmons
    Commented Feb 24, 2011 at 19:28
  • 225
    They have made this so dumb... I think I kinda miss the old XCode... So many chnages... even some shortcuts dont work :P Commented Mar 16, 2011 at 3:38
  • 8
    @vivianaranha, me too missing the old Xcode... xcode 4 crashes most of the time for me..
    – Hanuman
    Commented Mar 24, 2011 at 11:50
  • 4
    Compare "right click, add, existing framework" to the above and yeah, no wonder people miss old Xcode. Why're they complicating stuff? baffled (+1 for answer, not that you need it with 131 +'es already but hey! :P)
    – Kalle
    Commented Mar 25, 2011 at 15:12
44

I just added the existing framework folder manually into the project navigator. It worked for me.

1
  • 21
    Ok, I finally did it, as follows: 1) In the "project navigator", open the "frameworks" folder and select one the existing frameworks (e.g. UIKit.framework) 2) Right click and select "Show in Finder" from the menu 3) From the newly opened folder in the finder, drag the framework folder you are interested in (e.g. OpenGLES.framework) into the "frameworks" folder in XCode 4) Be sure not to "copy items into destination's group folder" 5) Choosing "Create groups for any added folders" seems to make it Commented Jul 29, 2010 at 22:03
22

Follow the below five steps to add a framework in your project.

  1. Click on Project Navigator.
  2. Select Targets (Black arrow in the below image).
  3. Select Build phases ( Blue arrow in the below image).
  4. Click on the + button (Green arrow in below image).
  5. Select your framework from the list.

Framework

Here is the official Apple page.

0
17

Another easy way to do it so that it is referenced in the project folder you want, like "Frameworks", is to:

  1. Select "Show the Project navigator"
  2. Right-click on the project folder you wish to add the framework to.
  3. Select 'Add Files to "YourProjectName"'
  4. Browse to the framework - generally under /Developer/SDKs/MacOSXversion.sdk/System/Library/Frameworks
  5. Select the one you want.
  6. Select "Add"

It will appear in both the project navigator where you want it, as well as in the "Link Binary With Libraries" area of the "Build Phases" pane of your target.

0
11

The frameworks directory is as follows in my computer:

/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk/System/Library/Frameworks

Not the directory

/Developer/SDKs/MacOSXversion.sdk/System/Library/Frameworks
1
  • Right - it depends on what you have installed. Also, the XCode 4.3 release causes them to be installed to a completely new location - under the XCode distribution path. On my two machines, it is: /applications/xcode.app/contents/developer/platforms/macosx.platform/developer/SDKs/MacOSX10.7.sdk/system/Library/Frameworks
    – GTAE86
    Commented May 22, 2012 at 14:42
8

In Project:

  1. Select the project navigator
  2. Click on Build Phases
  3. Click on link binary with libraries
  4. Click on the + button and add your Frameworks
7

Follow the screenshots:

Go to linked framework and libraries

Enter image description here

You are ready to go!

0
3
  1. In the project navigator, select your project.

  2. Select your target.

  3. Select the "Build Phases" tab.

  4. expander. Click the + button.

  5. Select your framework.

  6. (optional) Drag and drop the added framework to the "Frameworks" group.

    enter image description here

0
3

Xcode 12

Just drag it into the Frameworks, Libraries, and Embedded Content of the General section of the Target:

enter image description here Done!

Note that Xcode 11 and 10 have a very similar flow too.

1

Xcode add a framework

Starting Xcode v11 you should use

<Project settings> -> <App Target> -> Frameworks, Libraries, and Embedded Content
//or
<Project settings> -> <Framework Target> -> Frameworks and Libraries

[Xcode pre-v11. Embedded Binaries vs Linked Frameworks and Libraries]

[Xcode v11. Frameworks, Libraries, and Embedded Content plus Frameworks and Libraries with Embed vs Do Not Embed]

Also do not forget to check Library Search Paths or Framework Search Paths. I would recommend you to use drag-and-drop[About]

[Step-by-step examples here]

Not the answer you're looking for? Browse other questions tagged or ask your own question.