Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 用于iOs构建和依赖项的构建和项目管理工具_Iphone_Objective C_Ios_Maven 2_Ios4 - Fatal编程技术网

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

Iphone 用于iOs构建和依赖项的构建和项目管理工具,iphone,objective-c,ios,maven-2,ios4,Iphone,Objective C,Ios,Maven 2,Ios4,我有Java、ApacheMaven和Android的背景,我正在尝试iOS。现在,我想知道是否有某种标准的工具链可以帮助处理以下事情 管理scm详细信息(svn、git、mercurial、分支、标记..) 发布管理(版本编号、管理开发与产品配置…) 使用依赖项(例如,多个项目和开发人员的集中化、远程访问) 独立于IDE的构建 CI构建 测试库(单元测试、集成测试、ui测试、模拟) 静力分析 项目健康报告 其他IDE 还有Maven生态系统提供的一大堆其他东西,比如公共图书馆存储库等等。从

我有Java、ApacheMaven和Android的背景,我正在尝试iOS。现在,我想知道是否有某种标准的工具链可以帮助处理以下事情

  • 管理scm详细信息(svn、git、mercurial、分支、标记..)
  • 发布管理(版本编号、管理开发与产品配置…)
  • 使用依赖项(例如,多个项目和开发人员的集中化、远程访问)
  • 独立于IDE的构建
  • CI构建
  • 测试库(单元测试、集成测试、ui测试、模拟)
  • 静力分析
  • 项目健康报告
  • 其他IDE
还有Maven生态系统提供的一大堆其他东西,比如公共图书馆存储库等等。从我最初的研究来看,这里似乎并不多,但我可能只是找错了地方

iOS开发必须具备哪些工具和库

另外,我的印象是,Xcode主宰一切,如果没有一个特性,那么你就会运气不佳(例如git或hg支持),并添加其他工具。这很好,但你必须始终使用Xcode,对吗

  • 管理SCM详细信息:Xcode对某些SCM的支持有限。有很好的第三方SVN接口:我使用Sofa的版本
  • 依赖项:Xcode在这里做得很好
  • 独立于IDE的构建:有一个名为
    xcodebuild
    的命令行工具,用于构建Xcode项目。如果您想尝试在不使用Xcode的情况下编译和链接iOS应用程序项目,那么祝您好运,请使用make或您最喜欢的构建工具。您可以查看gnustepmake,了解如何使用make构建应用程序,然后将其移植到iOS项目。请注意,即使使用其他工具,您仍然需要安装Xcode才能进行构建,因为您需要SDK
  • CI构建:我使用CruiseControl.rb,有些人使用Hudson
  • 静态分析:Xcode。点击“构建和分析”

您可以在Xcode中直接进入您的项目,它们将在构建过程中运行。对于任何熟悉junit的人来说,这看起来都非常简单和自然。在2010年的WWDC上,也有关于使用仪器进行自动化测试的会议,这些会议可能会填补您的集成测试角色。如果你想在Apple开发者网站上查找视频和资料,那是第306课时。我已经研究过了,但实际上还没有做过任何UI测试,所以我不能说它有多简单或完整。

几周前我们公开了我们的XCode Maven插件。在SAP,我们使用它以符合产品标准的方式在Hudson上使用Maven集中构建所有iOS应用程序和库。库和应用程序部署到Nexus,依赖项(到库)由Maven自动解析

Maven central上的一些概述文档和二进制文件仍然缺失,但Github上已经提供了源代码和技术文档。如果您有任何问题,请写信给我们的邮件列表。我们会尽力帮助你



您好,Alex

xcode在管理依赖项方面做得如何?例如,不依赖于绝对库位置(路径方向),或仅将库直接包含在项目中。这似乎不能很好地与许多项目的版本更改一起扩展。因此,对于CI,您必须使用SDK和hudson运行mac server,并使用xcodebuild,对吗?@Manfred:您可以使Xcode目标依赖于其他目标,并可以提供到其他目标中不存在的内容的相对路径。请注意,由于目标可以只运行shell脚本,所以没有太多理由不作为Xcode目标:)。关于CI,是的:考虑到你只能在Mac OS X上构建iOS应用程序,你的构建机器人需要在Mac上。使用仪器的自动化测试也应该适合UI测试。哇。。太棒了。为什么媒体不再关注这一点。例如,maven用户邮件列表上没有任何内容。