Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.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
Swift 如何将SSZipArchive手动添加到我的项目_Swift_Xcode_Macos_Ssziparchive - Fatal编程技术网

Swift 如何将SSZipArchive手动添加到我的项目

Swift 如何将SSZipArchive手动添加到我的项目,swift,xcode,macos,ssziparchive,Swift,Xcode,Macos,Ssziparchive,首先,我是一个MacOSX新手,无论是使用还是编程,但这都是强加给我的。我的项目进展顺利,但我需要解压一个文件,看起来SSZipArchive似乎是一个不错的选择。我想手动将它添加到我的项目中,以便它在我的源代码控制系统中保持一致。其他人,特别是发布工程师,不需要做任何事情,我们需要所有的源代码都在本地 我已经尝试了无数种方法,只是为了不断得到令人恐惧的没有这样的模块错误。我已经研究了几天了,但仍然没有更进一步。所以我在一个新项目中从头开始,说出我在做什么,并在此请求一些帮助。所有这些都是在El

首先,我是一个MacOSX新手,无论是使用还是编程,但这都是强加给我的。我的项目进展顺利,但我需要解压一个文件,看起来SSZipArchive似乎是一个不错的选择。我想手动将它添加到我的项目中,以便它在我的源代码控制系统中保持一致。其他人,特别是发布工程师,不需要做任何事情,我们需要所有的源代码都在本地

我已经尝试了无数种方法,只是为了不断得到令人恐惧的没有这样的模块错误。我已经研究了几天了,但仍然没有更进一步。所以我在一个新项目中从头开始,说出我在做什么,并在此请求一些帮助。所有这些都是在El Capitan笔记本电脑上完成的,使用Xcode 7.3.1和Swift 2.2

使用Swift创建一个Cocoa应用程序项目,称之为“ziptest”,不检查其他内容。建造它只是为了好玩

将从SSZipArchive GitHub站点下载的master.zip中找到的SSZipArchive文件夹拖放到我的项目中。我不确定它应该放在哪里,或者它是否重要-顶层,在ziptest项目图标和ziptest组之间,或者在ziptest组内部。但我会把它放在ziptest组中。现在我面临一个新的问题-对于添加的文件夹,我是要创建组还是创建文件夹引用。我确实复制了这些项目,因为正如我所说的,我想稍后将它们添加到SCC中。我在Stackexchange上看到了某个地方,以确保它是组,所以这就是我要做的。重新构建,它仍然有效

我知道我需要一个桥接头文件,所以我将创建它。我想,在某个时刻,Xcode问我是否想创建它,但上面的步骤没有做到这一点。经过多次实验,我发现如果我直接读取SSZipArchive.m/.h文件,它会问我。它不会在其中放入任何内容,但至少它会创建它并更新构建设置。但我现在通过右键单击ziptest组文件夹,选择新建文件来手动执行此操作。。。并按照Xcode创建的模式创建一个名为ziptest Bridgeing Header.h的空头文件,确保选中ziptest目标

我补充说:

导入SSZipArchive.h

到那个文件。这座建筑仍然有效

我在构建设置中添加了ziptest桥接头.h作为Objective-C桥接头。这座建筑仍然有效

现在是关键时刻。我补充说:

导入SSZipArchive

到AppDelegate.swift,我得到了可怕的没有这样的模块“SSZipArchive”

我做错了什么


编辑添加:哦,我还将libz.dylib添加到构建阶段->链接二进制与库部分。当然没有帮助,因为我们甚至还没有进入链接阶段。

Xcode 8最近发布。如果你升级到Swift 3,你可以使用内置的Swift软件包管理器来简化这类工作。好吧,就像我说的,我真的不想使用软件包,因为我希望能够提供所有的源代码。除非软件包经理真的将代码复制到项目中。你是否将其添加到目标的嵌入式二进制文件中?顺便说一句,我还不熟悉SPM,但对于类似的系统,手动添加(即不使用软件包)和交付源代码是完全正交的。我不理解这一评论。我想手动添加SSZipArchive的源代码,因为我想将整个项目的源代码添加到SCCS中。我不希望它依赖于在发布编译时运行SPM之类的东西来获取第三方源代码,因为这样我就无法控制使用哪个版本了。Xcode 8最近发布了。如果你升级到Swift 3,你可以使用内置的Swift软件包管理器来简化这类工作。好吧,就像我说的,我真的不想使用软件包,因为我希望能够提供所有的源代码。除非软件包经理真的将代码复制到项目中。你是否将其添加到目标的嵌入式二进制文件中?顺便说一句,我还不熟悉SPM,但对于类似的系统,手动添加(即不使用软件包)和交付源代码是完全正交的。我不理解这一评论。我想手动添加SSZipArchive的源代码,因为我想将整个项目的源代码添加到SCCS中。我不希望它依赖于在发布编译时运行SPM之类的其他程序来获取第三方源代码,因为这样我就无法控制使用哪个版本。