How do I use a relative path in Xcode project settings?
-
For this decade old question! A weird issue seems to have come up in Xcode 11 ... https://stackoverflow.com/questions/58954843/how-did-contents-xcworkspacedata-weird-absolute-path-issue-happen – Fattie Nov 20 '19 at 12:55
6 Answers
All paths in Build Settings are assumed relative to the directory that contains the .xcodeproj file. Use the standard Unix path tokens
. project directory
.. parent directory
So if your project file is trunk/Mac/proj.xcodeproj, and your headers are in trunk/Headers/foo.h, you would add ../Headers to your Header Search Paths.

- 20,661
- 6
- 33
- 39
-
4what about libraries? can I have my .a files outside the project and add their path relatively to the project? – Ashish Awaghad Jan 09 '14 at 09:23
-
Yes, see here https://www.chilkatsoft.com/xcode-link-static-lib.asp. Adding it this way will make sure the linker gets passed the -lmylib flag. Then add the path to this library in Build Settings->Search Paths->Library Search Paths – mondaugen Mar 14 '18 at 16:19
In the upper left corner next to the build/stop buttons, click on the name of your project and Edit Scheme...
In the left column, click on Run
Click on Options
Put a check next to Working Directory: Use custom working directory.
You can then change the relative path to anywhere you want.
EDIT: This is for Xcode 4.1

- 439
- 7
- 11
-
in the Run Options , there is only 2 options: `Core Location` & `Application Data`. No `Working Directory`. xCode 4.3 – Raptor May 25 '12 at 09:32
-
1In xCode 4.5 this option is in Product>Edit Scheme ..... This worked for me, thanks. – yogi Dec 08 '12 at 12:51
-
-
i reopened this issue [here](http://stackoverflow.com/questions/14355173/how-to-make-xcodeproj-file-relative-in-xcode-4-5) – abbood Jan 16 '13 at 09:36
For Xcode 5:
Click on Product -> Scheme -> Edit Scheme.
Then follow ulu5's instructions: Click "Run", Click on "Options", and check the box "Use custom working directory."

- 41
- 1
The various answers currently here which recommend setting the working directory when executing a project by editing the scheme and then choosing whatever directory you want are missing what seems like a key part of the question: Relative Path. If you just use the file navigator in the UI you'll get an absolute path, likely with your own home directory in it, which isn't so good if the project you're working on is shared with other people. To specify a working directory relative to the project folder in there, find the "Working Directory" field in the scheme (In XCode 10.1, that's Product | Scheme | Edit Scheme, then Options, then check "Use Custom Working Directory"), and use $PROJECT_DIR to get the path relative to the project.

- 4,484
- 3
- 37
- 49
-
wups just saw your comment, @Fattie . that link is 404 now, unfortunately. – orion elenzil Jun 28 '22 at 05:05
Using Xcode 9:
It may be intended for Xcode to always use relative file paths based on the directory that contains the xcodeproj, but sometimes this does not seem to be true, and in my case this may have been due to the fact that the project (directory and all) was copied from an earlier version. I had to do:
Target(top left)->Edit Scheme->Use Custom Working Directory
and then specify to use the directory containing my project file.

- 65
- 10