Architecting a Complex iPhone Application?
architecture, continuous-integration, iphone
Solution
How complex of an example would you like? This question links to a number of non-Apple open source iPhone applications, including my own. Some of the applications out there are relatively complex.
As far as design goes, I'd highly recommend the book Cocoa Design Patterns. While not strictly for the iPhone (given Cocoa's beginnings at NeXT and more recent presence on the Mac), the design patterns covered are core to the architecture of the Cocoa frameworks and Cocoa applications.
I'd also recommend paying for the WWDC 2009 videos and watching the sessions "iPhone User Interface Design", "Effective iPhone App Architecture", and "Prototyping iPhone User Interfaces". There are a lot of good suggestions for architecting iPhone applications in these sessions.
I've used unit tests with my applications, but I have not done any form of continuous-integration building. However, this question looks to have a lot of good information on doing continuous integration with Xcode.
Problem
I am comming from an enterprise java development organization where we did development in nicely seperated re-usable layers. Persistency layers, Service layers, etc etc. Now, I am looking for iPhone example apps or documentation on how to architecture complex iPhone projects. Most books & apple examples show you very limited code & architecture. They are not usable imo. What I am also looking for is info on how to setup a continuous-integration build system which runs all my unit tests on code checkin & reports the unit test findings to a system where we can see the results. For our java projects, we use svn, mvn & sonar for this. What's apple's equivalent for this setup? Is it even possible? So, to summarize my questions: Q1: Are there any examples or books on complex iPhone project architecture? Q2: How do we setup a continuous-integration build system?