开发者

Build and project management tool for iOs build and dependencies

I have a Java, Apache Maven and Android background and I am dabbling a bit with iOS. Now I am wondering if there is some sort of standard tool chain that helps with things like

  • managing scm details (svn, git, mercurial, branching, tagging..)
  • release management (version numbering, managing dev vs prod configuration...)
  • working with dependencies (e.g. centralized for multiple project and developers, remote access)
  • IDE independent build
  • CI build
  • testing libraries (unit testing, integration testing, ui testing, mocking)
  • static analysis
  • project health reporting
  • other IDEs

and a whole bunch of other things that the Maven ecosystem provides like public library repositories and so on. From my initial research there does not seem much around, but I might just be looking in the wrong places.

开发者_如何学C

What are the must have tools and libraries for iOS development?

Also I have the impression that Xcode rules it all and if a feature is not there you end up out of luck (e.g. git or hg support) and add other tools. Thats fine but you will always have to use Xcode right?


We open-sourced our XCode Maven plug-in some weeks ago. At SAP we use it to build all our iOS apps and libraries centrally in a product standard compliant way with Maven on a Hudson. Libraries and apps are deployed to Nexus and dependencies (to libraries) are resolved automatically by Maven.

Some overview documentation and binaries on Maven central are still missing, but the sources and technical documentation are already available on Github. If you have questions please write to our mailing list. We will try to help you.

http://sap-production.github.com/xcode-maven-plugin
https://github.com/sap-production/xcode-maven-plugin

Kind regards, Alex


  • managing SCM details: Xcode has limited support for some SCMs. There are good third-party SVN interfaces around: I use Versions by Sofa.
  • dependencies: Xcode does a good job here.
  • IDE-independent build: there's a command-line tool called xcodebuild that builds Xcode projects. If you want to try compiling and linking an iOS app project without using Xcode at all, then good luck, and go to make or your favourite build tool. You could look at the gnustep-make to see how to build apps with make, then port that to iOS projects. Notice that you'll still need to install Xcode in order to build even if you use other tools, because you need the SDK.
  • CI build: I use CruiseControl.rb, some people use Hudson.
  • static analysis: Xcode. Hit "build and analyze".


You can build unit tests right into your project in Xcode and they'll be run during the build process. For anyone with familiarity with junit it'll seem very straightforward and natural. There were sessions at the 2010 WWDC about automated testing with Instruments as well that would likely fill an integration testing role for you. It was session 306 if you want to look for the video and materials in the Apple developer site. I've looked into it but haven't actually done any of the UI testing so I can't say how easy or complete it is.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜