I would like to add some files to the Compile Sources build phase using a script in Xcode, which pulls from some folder references. I haven't been able to find much documentation so far.
Go to the Build Phases section of your project. (Click on the project, then on the main target, then on the “Build Phases” tab along the top.) Click the + at the top left to create a new build phase; choose “New Run Script Phase.” Xcode creates the script at the end of the list, naming it “Run Script.”
A Build Lifecycle is Made Up of Phases validate - validate the project is correct and all necessary information is available. compile - compile the source code of the project. test - test the compiled source code using a suitable unit testing framework. These tests should not require the code be packaged or deployed.
To add files to the Compile Sources
build phase using a script, you will need to manipulate your project's project.pbxproj
file programmatically.
Generally speaking, you would accomplish this by parsing the project.pbxproj
file into an in-memory data structure, manipulating that data structure through a programmatic interface, and then writing the data structure out to a new project.pbxproj
file.
There are several projects out there that could potentially help you do this, I haven't tried any of them:
And here is a series of blog posts with great general info on the contents and format of XCode project.pbxproj
files.
Finally, it may be worth noting that for very simple manipulations, particularly if you aren't concerned about the cosmetics of your project.pbxproj
file getting messed up, you can follow the suggestion over at this Stack Overflow answer to parse the project.pbxproj
file on the command line like so:
plutil -convert xml1 -o - myproj.xcodeproj/project.pbxproj
Happy parsing!
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With