将 Objective C Framework 导入我的 Swift 项目后,我的项目无法识别我的桥接文件中的头文件

After importing Objective C Framework into my Swift project, my project does not recognise my header file in my Bridging file

我必须将一个框架导入我用 Objective C 编写的 Swift 项目。所以我创建了一个桥接文件,在我将头文件添加到其中并编译后,我的项目说找不到它们。下图显示了我的框架,你可以清楚地看到 AWController.h 但它在构建时在我的桥接文件中抛出错误。

桥接文件显示在我的设置中,所以我做错了什么或错过了什么?我在构建设置中将我的定义模块设置为是,我的模块名称没有空格。

你不应该使用桥头。只需在您使用它的 swift 文件中使用 import AWSDK

我会在 website 上查看 AWS 的设置。他们甚至有一个部分详细介绍了使用 with Swift iOS9.

除其他事项外,如果您使用的是 Frameworks 手动集成,请确认第 4 步已完成。

Under the Build Phases tab in your Target, click the + button on the top left and then select New Run Script Phase. Then setup the build phase as follows. Make sure this phase is below the Embed Frameworks phase.:

Shell /bin/sh

bash "${BUILT_PRODUCTS_DIR}/${FRAMEWORKS_FOLDER_PATH}/AWSCore.framework/strip-frameworks.sh"

Show environment variables in build log: Checked Run script only when installing: Not checked

Input Files: Empty Output Files: Empty

您可能需要安装和使用 Carthage 来简化此操作。转到 Homebrew website 然后在安装自制软件后你会 运行 brew install carthage 从命令行。之后回到上面的 link 并按照 Carthage 说明进行操作。

其次,我将对 Apple Documentation 使用桥接头文件进行另一个演练,看看是否有任何边缘情况适用,并作为完整性检查。

第三,如果这不起作用,我会尝试创建一个空的 Swift 项目,然后使用上述技术之一再次执行这些步骤。您的项目文件中的一项或多项设置可能有问题,或者文件本身可能已损坏。

顺便说一句 - 产品包标识符可能应该遵循 com.yourdomain.YourProductName 的约定。