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

问题描述:

我必须将框架导入到Objective C中编写的Swift项目中。所以我创建了一个桥接文件和我已经添加头文件并编译后,我的项目说它找不到它们。下面的图片显示了我的框架,你可以清楚地看到AWController.h,但它在构建时会在我的桥接文件中引发错误。将Objective C框架导入到我的Swift项目后,我的项目无法识别我的桥接文件中的头文件

enter image description here

桥接文件显示在我的设置,所以我在做什么错了还是什么我错过了?我已经在Build Settings中将我的Defines模块设置为Yes,并且我的模块名称中没有空格。

enter image description here

+0

看看我的[回复](http://*.com/questions/24062618/swift-to-objective-c-header-not-created-in-xcode-6/30634282?s=1|1.6337# 30634282)对这种情况肯定这是重复的。如果考虑删除,则不更新问题。 –

+0

我已经做出了这些修改并修改了上面的条目以显示它,但它仍然不会生成,但 – user616076

+0

是否安装了任何豆荚?只要做一件事就可以创建新项目并重新组合项目,而不是再次传递时间。 – vaibhav

我会检查他们的website AWS的设置。他们甚至有一个细节使用Swift iOS9的部分。

其中,如果您使用的是框架手动集成,请确认第4步已完成。

在Target中的Build Phases选项卡下,点击左上角的 上的+按钮,然后选择New Run Script Phase。然后按照以下步骤设置构建 阶段。确保这一阶段低于嵌入框架 阶段:

壳牌/ bin/sh的

庆典 “$ {BUILT_PRODUCTS_DIR}/$ {} FRAMEWORKS_FOLDER_PATH /AWSCore.framework/strip-frameworks.sh”

在构建日志

显示环境变量:经过运行脚本,只有当 安装:未选中

输入文件:空输出文件:空

您可能想要安装并使用Carthage以使其更容易。转到Homebrew website,然后在安装自制软件之后,您可以从命令行运行brew install carthage。之后,回到上面的链接并按照迦太基的指示。

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

第三,如果不工作,我只是尝试创建一个空的斯威夫特项目,并通过再次使用上述的技术之一的步骤走。项目文件中的一个或多个设置可能有问题,或者文件本身可能已损坏。

BTW - 产品包标识符也许应该com.yourdomain.YourProductName的约定以下。

+0

嗨,Tommie,这是一个很好的解决方案,很高兴知道,但我使用AirWatch框架而不是Amazon Web Services。无论如何,我会遵循这个过程,并会让你知道它是如何发生的 – user616076

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