ios - Objective-C 桥接问题。如何在 Swift 项目中使用 Obj-C 框架?

标签 ios objective-c xcode swift xcode6

我一定已经从头开始大约 4 次了。我已经按照下面列出的解决方案进行操作,但仍然存在问题(我认为这与桥接头文件有关)。 注意:当您将一些 Objective-C 文件拖到 Swift 项目中时,我尝试过手动创建桥接 header 以及 Xcode 提供的自动化解决方案。

Swift Bridging Header import issue

Connect Objective C framework to Swift iOS 8 app (Parse framework)

这是我看到的主要错误。我已经尝试将头文件向上/向下移动一个级别,但它仍然声称看不到它。当提示自动创建桥接头时,当我选择"is"时,Xcode 当前将所有内容都放在了它所在的位置。您还可以查看我的桥接 header 的全部内容。 enter image description here First error

Second error

Default values

最佳答案

“找不到 NSObject 的协议(protocol)声明”错误通常是指循环引用问题。

我想知道为什么您将所有这些标准的 Apple 框架都放在桥接 header 中?这可能就是问题所在。这个特殊文件应该将 Swift 和 Objective C 世界“桥接”在一起,所以如果您已经在 Swift 代码中引用并链接了您的应用程序与这些框架,则不需要在桥接 header 中再次执行此操作。

尝试从桥接头文件中删除所有 Apple 提供的框架,只保留特定的框架(IBM...h),看看它是否有效?

如果没有,则仅从 Foundation/Foundation.h 开始...

关于ios - Objective-C 桥接问题。如何在 Swift 项目中使用 Obj-C 框架?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28507834/

相关文章:

ios - 解析中的 block

ios - 如何将不规则形状存储为 UIImage?

ios - 从 UIImagePickerController 继续

iPhone——可以区分指尖和整个指腹吗?

xcode - 为什么我的 gcc 不在/usr/bin/gcc 中,即使安装了 Xcode 4.3?

ios - AVPlayer 直播电台流媒体在 15 分钟左右后停止

ios - NSFetchedResultsController 在更新关系后从 UITableView 中删除行

ios - 找不到适用于 iOS 的 stig -JSON dmg 文件

objective-c - 如何深度复制 NSIndexPath?

ios - 通过 simctl 安装 WatchKit 应用程序