Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.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
Cocoa框架开发:项目间共享_Cocoa_Xcode_Frameworks_Code Sharing - Fatal编程技术网

Cocoa框架开发:项目间共享

Cocoa框架开发:项目间共享,cocoa,xcode,frameworks,code-sharing,Cocoa,Xcode,Frameworks,Code Sharing,我目前正在开发一些类似的Cocoa桌面应用程序。为了在它们之间共享代码,我已经确定了一组在所有这些应用程序中都通用的核心类和函数。我希望将这些通用代码捆绑到一个框架中,我当前的所有应用程序(以及任何未来的应用程序)都可以链接到该框架 现在,这里是最困难的部分:我将开发这个框架,所以我需要我的每个桌面应用程序都有一个对它的引用,但我希望能够编辑每个应用程序项目中的框架源代码,并根据需要自动重建框架 例如,假设我打开了DesktopAppNumberOne的Xcode项目,并且我决定需要更改我的一个

我目前正在开发一些类似的Cocoa桌面应用程序。为了在它们之间共享代码,我已经确定了一组在所有这些应用程序中都通用的核心类和函数。我希望将这些通用代码捆绑到一个框架中,我当前的所有应用程序(以及任何未来的应用程序)都可以链接到该框架

现在,这里是最困难的部分:我将开发这个框架,所以我需要我的每个桌面应用程序都有一个对它的引用,但我希望能够编辑每个应用程序项目中的框架源代码,并根据需要自动重建框架

例如,假设我打开了DesktopAppNumberOne的Xcode项目,并且我决定需要更改我的一个框架类。我想:

  • 打开并编辑该框架类的源文件,而无需在Xcode中打开框架项目
  • 在DesktopAppNumberOne上点击“build”,首先查看重建的框架(因为其中一个源已更改),然后查看重建的DesktopAppNumberOne的部分内容(因为它所链接的其中一个框架已更改)
  • 我只知道如何用一个应用程序和一个框架来实现这一点,但我很难弄清楚如何用共享一个框架的多个应用程序来实现这一点


    有人用这种方法成功过吗?我是不是走错了路?任何帮助都将不胜感激。

    为您的框架制作一个XCode项目

    在“组和文件”面板>,看到左上角的蓝色项目图标了吗?将其拖放到您喜欢的任何其他项目的“组和文件”面板中

    因此,制作一个应用程序项目,并从框架项目中拖入项目图标

    应用程序目标上的CMD-i。在这里,您可以设置对框架的依赖关系并与之链接

    几点

    将多个应用程序链接到一个框架可能已满。您需要将您的框架安装到/Library/Frameworks或同等软件中,或者捆绑到每个应用程序中

    出于开发目的,我发现为每个项目设置一个自定义的、通用的构建目录可以简化工作。我将每个项目设置为内置到/Code/build/Debug。这意味着调试生成的框架搜索路径可以是$CONFIGURATION\u build\u DIR。对于您的发布版本,在安装路径、RPATH等方面,您仍有一些工作要做。麻烦


    XConfig文件是您的朋友。开源的GoogleMac工具箱就是如何使用它们的一个很好的例子。您可能至少需要一个Project\u debug.xconfigProject\u release.xconfigTarget\u framework.xconfigTarget\u application.xconfig

    您可以看到如何使用一个项目。。但你没说怎么做。不管怎么说,两个、三个或更多的项目没有什么不同。请解释你将如何做。对于一个项目,我将包括所有框架源文件,为框架添加一个目标,并使应用程序目标依赖于框架目标。很简单。在不止一个项目中这样做需要大量的重复。例如,如果我向框架中添加文件,我还必须在其他每个项目中添加这些文件。更改构建设置、重命名文件等也是如此。从概念上讲,我希望能够将框架作为完整的Xcode项目包含在我的每个应用程序项目中,如果这有任何意义的话。这样,每个应用程序项目都将依赖于框架项目,但框架项目本身将是一个独立的实体,只需要在一个地方进行编辑。看起来很有希望。非常感谢。我要给它打个盹儿。这将很好地发挥作用!我不知道你可以简单地把一个项目作为一个依赖项放进去。如果你还不知道的话——对于有多个目标的复杂项目,等等。我总是启用“目标成员”列(Cntrl单击“组和文件”)。没有它我活不下去。