我必须将一个框架导入到我用 Objective C 编写的 Swift 项目中。所以我创建了一个桥接文件,在我将头文件添加到它并编译之后,我的项目说它找不到它们。下图显示了我的框架,您可以清楚地看到 AWController.h,但是在构建时它会在我的桥接文件中引发错误。
桥接文件显示在我的设置中,所以我做错了什么或错过了什么?我在构建设置中将我的定义模块设置为是,我的模块名称没有空格。
我必须将一个框架导入到我用 Objective C 编写的 Swift 项目中。所以我创建了一个桥接文件,在我将头文件添加到它并编译之后,我的项目说它找不到它们。下图显示了我的框架,您可以清楚地看到 AWController.h,但是在构建时它会在我的桥接文件中引发错误。
桥接文件显示在我的设置中,所以我做错了什么或错过了什么?我在构建设置中将我的定义模块设置为是,我的模块名称没有空格。
你不应该使用桥头。只需import AWSDK
在您使用它的 swift 文件中使用。
我会在他们的网站上查看 AWS 的设置。他们甚至有一个部分详细介绍了使用 Swift iOS9。
除此之外,如果您使用的是 Frameworks 手动集成,请确认步骤 4 已完成。
在 Target 的 Build Phases 选项卡下,单击左上角的 + 按钮,然后选择 New Run Script Phase。然后按如下方式设置构建阶段。确保此阶段低于嵌入框架阶段。:
外壳 /bin/sh
bash "${BUILT_PRODUCTS_DIR}/${FRAMEWORKS_FOLDER_PATH}/AWSCore.framework/strip-frameworks.sh"
在构建日志中显示环境变量:选中 仅在安装时运行脚本:未选中
输入文件:空输出文件:空
您可能希望安装和使用 Carthage 来简化此操作。前往Homebrew 网站,然后在安装 Homebrew 后,您将从命令行运行 brew install carthage。之后返回上面的链接并按照迦太基的说明进行操作。
其次,我将再次浏览Apple Documentation on Working with the bridging header files,看看是否有任何边缘情况适用,并作为健全性检查。
第三,如果这不起作用,我将尝试创建一个空的 Swift 项目,然后使用上述技术之一再次完成这些步骤。您的项目文件中的一项或多项设置可能有问题,或者文件本身可能已损坏。
顺便说一句 - 产品捆绑标识符可能应该遵循 com.yourdomain.YourProductName 的约定。