简体   繁体   English

用于iOs构建和依赖的构建和项目管理工具

[英]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. 我有Java,Apache Maven和Android背景,我和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..) 管理scm细节(svn,git,mercurial,branching,tagging ..)
  • release management (version numbering, managing dev vs prod configuration...) 发布管理(版本编号,管理dev vs prod配置......)
  • working with dependencies (eg centralized for multiple project and developers, remote access) 使用依赖项(例如,集中为多个项目和开发人员,远程访问)
  • IDE independent build IDE独立构建
  • CI build CI构建
  • testing libraries (unit testing, integration testing, ui testing, mocking) 测试库(单元测试,集成测试,ui测试,模拟)
  • static analysis 静态分析
  • project health reporting 项目健康报告
  • other IDEs 其他IDE

and a whole bunch of other things that the Maven ecosystem provides like public library repositories and so on. 以及Maven生态系统提供的一大堆其他内容,如公共图书馆资源库等。 From my initial research there does not seem much around, but I might just be looking in the wrong places. 从我最初的研究来看,似乎并没有多少,但我可能只是在寻找错误的地方。

What are the must have tools and libraries for iOS development? iOS开发必须具备哪些工具和库?

Also I have the impression that Xcode rules it all and if a feature is not there you end up out of luck (eg git or hg support) and add other tools. 另外我的印象是Xcode统治了所有这些,如果没有功能,你最终会失去运气(例如git或hg支持)并添加其他工具。 Thats fine but you will always have to use Xcode right? 这很好,但你总是要使用Xcode吗?

We open-sourced our XCode Maven plug-in some weeks ago. 几周前我们开源了我们的XCode Maven插件。 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. 在SAP,我们使用它以符合产品标准的方式集中构建我们所有的iOS应用程序和库,并在Hudson上使用Maven。 Libraries and apps are deployed to Nexus and dependencies (to libraries) are resolved automatically by Maven. 库和应用程序部署到Nexus,依赖关系(到库)由Maven自动解决。

Some overview documentation and binaries on Maven central are still missing, but the sources and technical documentation are already available on Github. Maven Central上的一些概述文档和二进制文件仍然缺失,但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 http://sap-production.github.com/xcode-maven-plugin
https://github.com/sap-production/xcode-maven-plugin https://github.com/sap-production/xcode-maven-plugin

Kind regards, Alex 亲切的问候,Alex

  • managing SCM details: Xcode has limited support for some SCMs. 管理SCM细节:Xcode对某些SCM的支持有限。 There are good third-party SVN interfaces around: I use Versions by Sofa. 有很好的第三方SVN接口:我使用的是Sofa by Sofa。
  • dependencies: Xcode does a good job here. 依赖:Xcode在这里做得很好。
  • IDE-independent build: there's a command-line tool called xcodebuild that builds Xcode projects. 独立于IDE的构建:有一个名为xcodebuild的命令行工具,用于构建Xcode项目。 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. 如果你想在不使用Xcode的情况下尝试编译和链接iOS应用程序项目,那么祝你好运,并去制作或你最喜欢的构建工具。 You could look at the gnustep-make to see how to build apps with make, then port that to iOS projects. 您可以查看gnustep-make以了解如何使用make构建应用程序,然后将其移植到iOS项目。 Notice that you'll still need to install Xcode in order to build even if you use other tools, because you need the SDK. 请注意,即使您使用其他工具,您仍然需要安装Xcode才能构建,因为您需要SDK。
  • CI build: I use CruiseControl.rb, some people use Hudson. CI构建:我使用CruiseControl.rb,有些人使用Hudson。
  • static analysis: Xcode. 静态分析: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. 您可以在Xcode中将单元测试直接构建到项目中,并且它们将在构建过程中运行。 For anyone with familiarity with junit it'll seem very straightforward and natural. 对于熟悉junit的人来说,它看起来非常简单和自然。 There were sessions at the 2010 WWDC about automated testing with Instruments as well that would likely fill an integration testing role for you. 2010 WWDC上有关于使用Instruments进行自动化测试的会议,可能会为您填补集成测试角色。 It was session 306 if you want to look for the video and materials in the Apple developer site. 如果您想在Apple开发者网站中查找视频和资料,那么会议306。 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. 我已经调查了它,但实际上没有进行任何UI测试,所以我不能说它是多么简单或完整。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM