iosversion-controlxcode4.2

Xcode 4.2 how include one project into another one?


I keep searching, but cannot find a clear and simple explanation on how to include one XCode project, along with all of it's sub-classes into another project. I routinely see stuff like that in sample projects that I download off the web, but do not know how to do this myself.

Within XCode, along with .h and .m files, and folders, there's a whole new project, starting with a blue xcode project icon, that is expandable to contain everything within the project.

Please, can someone explain to me step by step what do I need to do to add one XCode project into another one? I've seen a ton of one liners like "header search paths", but that does not tell me much.

UPDATE: After re-reading the documentation, I realized that the project to include must be dragged ONTO the BLUE project icon of the parent project. Regular sources can be dragged anywhere, but a project must be dragged onto a project.

Thank you!


Solution

  • This makes a lot of sense when you are trying to add a static library to your xcode projects. There are a couple steps required for doing this. First, make sure that the static library project is not open in XCode.

    Then start by dragging and dropping the static library xcodeproj file (from the Finder) onto your app's xcode project. StaticLib

    After this you need to add this library to your app's build phases. Click on the main project, and select the BuildPhases tab of the target.

    Build Phases

    You're going to want to add the other project to the Target Dependencies and to your Link Binary With Libraries Section.

    Finally, the app needs to be aware of your headers. Therefore, you need to add the path to your static libraries classes to your User Header Search Paths. Go to the Build Settings of the Main Target and search for Header Search Path.

    Header Search Path

    This will make your app aware of the new static library.

    Sometimes you need to add a few Other Linker Flags. In the Build Settings search for Other Linker Flags and add -all_load and -ObjC

    Other Linker Flags