将 Objective C 框架导入我的 Swift 项目后,我的项目无法识别桥接文件中的头文件
Posted
技术标签:
【中文标题】将 Objective C 框架导入我的 Swift 项目后,我的项目无法识别桥接文件中的头文件【英文标题】:After importing Objective C Framework into my Swift project, my project does not recognise my header file in my Bridging file 【发布时间】:2016-08-04 08:03:35 【问题描述】:我必须将一个框架导入到我用 Objective C 编写的 Swift 项目中。所以我创建了一个桥接文件,在我将头文件添加到它并编译之后,我的项目说它找不到他们。下图显示了我的框架,您可以清楚地看到 AWController.h,但是在构建时它会在我的桥接文件中引发错误。
桥接文件显示在我的设置中,那么我做错了什么或错过了什么?我在 Build Settings 中将我的 Defines Module 设置为 Yes,并且我的 Module Name 没有空格。
【问题讨论】:
查看我的answer 这种情况 很确定这是重复的。如果是考虑删除,如果不更新问题。 我已经进行了这些更改并修改了上面的条目以显示它,但它仍然无法构建 您安装了任何 pod 吗?只需做一件事创建新项目并重新组合项目,而不是再浪费时间。 不,我没有使用 pods 请从 Xcode (Cmd-8) 的报告导航器中复制并粘贴错误日志。当问题更新时,我可能能够提供更多见解。 【参考方案1】:我会在他们的website 上查看 AWS 的设置。他们甚至有一个部分详细介绍了如何使用 Swift ios9。
除其他外,如果您使用的是 Frameworks 手动集成,请确认步骤 4 已完成。
在 Target 的 Build Phases 选项卡下,单击 左上角,然后选择新建运行脚本阶段。然后设置构建 阶段如下。确保此阶段低于嵌入框架 阶段:
外壳/bin/sh
重击 "$BUILT_PRODUCTS_DIR/$FRAMEWORKS_FOLDER_PATH/AWSCore.framework/strip-frameworks.sh"
在构建日志中显示环境变量:选中 Run script only when 安装:未选中
输入文件:空输出文件:空
您可能希望安装和使用 Carthage 来简化此操作。前往Homebrew website,然后在安装自制软件后,您将从命令行运行 brew install carthage。之后返回上面的链接并按照迦太基的说明进行操作。
其次,我将再次演练Apple Documentation 上的使用桥接头文件,以查看是否有任何边缘情况适用,并作为健全性检查。
第三,如果这不起作用,我会尝试创建一个空的 Swift 项目,然后使用上述技术之一再次完成这些步骤。您的项目文件中的一项或多项设置可能有问题,或者文件本身可能已损坏。
顺便说一句 - 产品捆绑包标识符可能应该遵循 com.yourdomain.YourProductName 的约定。
【讨论】:
嗨 Tommie,这是一个很棒的解决方案,很高兴知道,但我使用的是 AirWatch 框架而不是 Amazon Web Services。无论如何,我都会遵循这个过程,并会告诉你进展如何【参考方案2】:你不应该使用桥头。只需在您使用它的 swift 文件中使用import AWSDK
。
【讨论】:
以上是关于将 Objective C 框架导入我的 Swift 项目后,我的项目无法识别桥接文件中的头文件的主要内容,如果未能解决你的问题,请参考以下文章
将 Objective-C 框架(CocoaPod)导入 Swift?
是否可以在 Objective c 中使用 AVFoundation 框架绘制网格线