Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.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项目依赖关系管理_Iphone_Xcode_Build Process_Dependency Management - Fatal编程技术网

iPhone项目依赖关系管理

iPhone项目依赖关系管理,iphone,xcode,build-process,dependency-management,Iphone,Xcode,Build Process,Dependency Management,有没有人成功地找到了一个可靠、通用的解决方案来管理iPhone项目的依赖关系?我希望将我的iPhone应用程序拆分为可重用组件,然后将它们拉入需要它们的项目中。我想我在寻找一个Maven式的工作流,但不是Xcode/iPhone项目。到目前为止,我已经尝试了很多方法,例如: 我为iPhone应用程序创建了一个Maven插件,该插件可以自动构建和签署应用程序,但我一直觉得我在与Maven抗争,以使其发挥作用,这完全是一团糟。我宁愿不使用这个,除非没有其他选择 我还尝试使用静态库将代码打包以供重用,

有没有人成功地找到了一个可靠、通用的解决方案来管理iPhone项目的依赖关系?我希望将我的iPhone应用程序拆分为可重用组件,然后将它们拉入需要它们的项目中。我想我在寻找一个Maven式的工作流,但不是Xcode/iPhone项目。到目前为止,我已经尝试了很多方法,例如:

  • 我为iPhone应用程序创建了一个Maven插件,该插件可以自动构建和签署应用程序,但我一直觉得我在与Maven抗争,以使其发挥作用,这完全是一团糟。我宁愿不使用这个,除非没有其他选择

  • 我还尝试使用静态库将代码打包以供重用,但问题是我还希望在项目中包含可重用的XIB和图像,而这些不能包含在静态库中进行重新分发。它们非常适合编写代码,但我希望有一个系统可以完成所有工作,而不是针对不同类型的依赖关系使用不同的依赖关系管理系统

  • 目前,我已经决定使用版本控制系统来为我处理依赖关系。在本例中,当我签出项目时,我使用SVN externals将依赖项加载到工作区中

  • 有人知道我能做什么吗

    更新


    我现在使用来执行此任务。

    使用静态库,您可以将XIB的/Images/Strings分发到一个Bundle文件夹中,该文件夹可以轻松导入。除了分发实际的代码/Xcode项目之外,这是我发现的分发依赖项的最简单方法。我过去的做法如下:

    • 共享代码的静态库
    • 图像/数据文件/Etc包(非代码)
    通过这样做,您只需要更新管理静态库/包的项目,而不必更新使用它们的应用程序

    创建捆绑包的关键是,在向项目添加新目标时,捆绑包不会列在iOS下。相反,它们列在MacOSX下。别担心,它工作得很好

    创建捆绑包和静态库目标后,您需要将它们放入应用程序中:

    • 将静态库添加到带有库的链接二进制(Xcode 4)下
    • 在复制捆绑包资源(Xcode 4)下添加捆绑包
    要记住的最后一点是,当您要从新创建的包中加载资源时,如果要加载图像,则需要执行以下操作:


    UIImage*myImage=[UIImage ImageName:@“YourBundle.bundle/myImage.png”]

    是否有一种很好的方法可以自动创建和检索您找到的这些资源?最好的方法是修改现有目标并添加运行脚本构建阶段,以便将所有资源复制到您选择的文件夹中。然后可以将.bundle添加到文件夹名称的末尾,将其转换为bundle文件。“Bundle”文件只是一个扩展名为.Bundle的普通文件夹。到目前为止,它在与静态库一起分发图像和其他资产方面工作得非常好。太棒了!我会离开并尝试实现这一点,然后接受这一点。您有没有办法轻松导入和分发这些捆绑包?此解决方案是否仍然有效(使用最新的Xcode 4.3.3)?我似乎找不到如何添加一个包。