Tips for developing a cocoa framework in AppCode?


     I'm working with AppCode on my first substantial project (converting from XCode, and a long time IntelliJ IDEA user for Java development (I'm pretty sure I have v6 license code somewhere (as well as 7 8, 9, 10, and 11). I'm working to develop a Cocoa (not Cocoa Touch) framework to encapsulate some functionality for other efforts. However, I cannot figure out how to setup the build and link rules to generate a proper framework, including marking headers for exporting. I'm using the Framework template when creating a new project. Does anyone have any tips for doing so?

     As an aside,I'm primarily a toolsmith developer, building libraries and frameworks with throw away scaffolding for exercising them (as well as unit tests). One of the aspects I loved of IDEA was the fairly seamless ability to generate a library and application as part of the same project but different modules, allowing a straightforward means of exercising the library and generating sample code. XCode (nor AppCode, as far as I can tell) have this ability, and I'd love to see it included in a future release.


1 comment
Comment actions Permalink


currently AppCode doesn't have any project configuration facilities. We are working on them and some functionality will be available in AppCode 1.6 (coming in the end of summer).
To set up the project you can use Xcode.
Here are some issues for you to follow and vote:

The same for splitting the project to the modules - you can create separate targets in Xcode for your library, for tests and for sandboxing code. In AppCode you will be able to run your tests with OCUnit run configuration (same concept as in IntelliJ IDEA). The only thing, is that, for now, you need to switch between the targets when you want to develop one of them. That is, if you want to write some tests, you need to switch to the corresponding Run Configuration (that are based on Xcode schemes) in order to get correct highlighting and navigation. If you then will change some library code, you'll need to switch back to the library target (this step may not bee needed, if the tests and code share same frameworks and headers search paths).
This is all because the different contexts in the different targets - if the sets of macros are different, the code is also different. In future we hope to solve this issue as well.

If you have any further questions or suggestions, we are happy to discuss them

Anton Makeev


Please sign in to leave a comment.