This tutorial covers creating an Xcode project for an iOS application that includes a static library in a form that debugging can enter the libraries source.
It assumes that you:
- have already created your static library.
- have your application project open.
- have no other include paths added yet
Step 1 Add a Source Tree for the Library Source.
In the Xcode preferences, select the “Source Tree” tab.
Add a new setting, the setting name is the variable that you will use to reference the path to your static library in the combined project. Try to keep it short and descriptive.
The display name is the name you will use to select it from certain drop down lists.
The path is the full path to the directory containing your static library’s .xcodeproj.
This step allows you to separate the location of your library from its reference in the application project.
Step 2 Add the Library Project as a Subproject of the Application.
Right click on the application project in the file browser pane of Xcode, and select “Add Files …”
The result should look like this
Where the Library project is nested inside the application project.
Step 3 Set the Location of the Library Project
This is the step that promotes the independence of the application project from the actual location of the library project. Select the library project in the file browser
And edit the location property in the right hand properties browser
Select the source tree display name you created in step 1.
With this step, you can now put your library in a different location by changing the source tree entry. (Or swap to a different version)
Step 4 Add the Library code to the Include path.
In the file browser, click on the application project.
Then select the project’s target’s build settings
Scroll down to the “Search Paths” section:
Click on the triangle, the place to add paths for the release and debug builds will be revealed. Click on the Debug line
Then click to the right of the + sign
In the revealed edit box, add the setting name you created in step 1 enclosed in $( and ) followed by the path to the libraries header files. ( in an xcode 4 project with unit tests they are usually in a subdirectory of the location of the .xcodeproj.
When you press enter, the path will appear to expand to the full path, but if you edit it again, you will see the variable. This also allows the library location to be easily changed.
Repeat for the release build. (It is possible to click on the “Header Search Path” line to enter both of these at once if you wish.)
Step 5 Add the library to the link list.
Select the Build Phases tab and open the “Link Binary With Libraries” section.
Drag the .a file from the products folder of your library into this section and that is it ready to go.
One Important Note.
The library can only be open in one xcode project window at a time.