&gt; But if you need to do something slightly unusual, like calling a shell script to generate resources, it&#x27;s horrible.<p>Not quite true. Xcode provides a &quot;Run Script&quot; build phase that lets you enter your shell script right into the IDE. A lot of handy environment variables are also there. You can easily reach your project via $SRCROOT, or modify the resources of the output bundle via &quot;${CONFIGURATION_BUILD_DIR}&#x2F;${PRODUCT_NAME}&quot;.