|
|
Tuesday, February 26, 2002 |
Including Frameworks in your ApplicationApple recommends that any frameworks required by your application be distributed within the app wrapper of the application itself. Doing so is not 100% straightforward (and I couldn't find decent documentation on the subject). I was recently faced with the need to distribute the Mulle Kybernetik XML-RPC frameworks inside of the application wrapper of the RadioService application. What follows is a step by step description of what I did. The end result works fine for both deployment and development; development does require that you build the frameworks such that their *.framework product is present in the build products directory. My build products preference is set to /tmp/bbum-products/. This should not affect the overall solution. In any case, it is generally a good idea to set the intermediate and product Build Results preferences to point to some location in /tmp/, preferably two different locations. It is faster than working against a mounted drive (if your home directory is mounted) and doesn't clutter up the project directory with a bunch of files that should not be revision controlled. Modifying the Framework project(s)
You might need to either execute the pbxbuild step via sudo or create the /Library/EmbeddedFrameworks directory and change permissions on it accordingly. Modifying the Application project(s)
When in active development, you will need to build the framework(s) via project builder as normal because the application will need to find them in your build-products directory at runtime. This also ensures that the frameworks have debugging symbols, making debugging that much easier. For deployment, simply install the application as you normally would. Typically, that would involve invoking something like... pbxbuild -buildstyle Deployment install DSTROOT=/tmp/MyApplication... from the terminal. |
|
|
Friday, February 8, 2002 |
Navigation
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
