1

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

我已经尝试了一百万种方法并返回,只是不断收到可怕的“没有这样的模块”错误。我已经研究了几天,仍然没有更接近。所以我在一个新项目中从头开始,说出我在做什么,并在这里寻求一些帮助。所有这些都是在 El Capitan 笔记本电脑上完成的,使用 Xcode 7.3.1 和 Swift 2.2。

  1. 使用 Swift 创建一个 Cocoa 应用程序项目,将其称为“ziptest”,没有其他检查。构建它只是为了好玩。

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

  3. 我知道我需要一个“桥接头”文件,所以我会创建它。我想在某个时候,Xcode 询问我是否要创建它,但上面的步骤并没有这样做。经过多次试验,我发现如果我直接 d'n'd SSZipArchive.m/.h 文件,它会询问我。它没有放入任何东西,但至少它会创建它并更新构建设置。但是我现在通过右键单击 ziptest 组文件夹手动执行此操作,选择 New File... 并创建一个名为“ziptest-Bridging-Header.h”的空头文件,遵循 Xcode 创建的模式,确保检查 ziptest 目标。

  4. 我加:

#import "SSZipArchive.h"

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

  1. 我在 Build Settings 中添加了 ziptest-Bridging-Header.h 作为 Objective-C Bridging Header。建筑仍然有效。

  2. 现在到了关键时刻。我加:

#import SSZipArchive

到 AppDelegate.swift 我得到了可怕的No such module 'SSZipArchive'

我究竟做错了什么?

编辑添加:哦,我还将 libz.dylib 添加到 Build Phases -> Link Binary With Libraries 部分。当然,这无济于事,因为我们甚至还没有进入链接阶段。

4

0 回答 0