【发布时间】:2016-07-07 19:30:39
【问题描述】:
目标:能够在 ObjC 项目中使用 swift pods
采取的步骤:
- 通过附加
use_frameworks!更改Podfile - 跑
pod install(Cocoapods 版本 1.0.0) - 再次构建工作区
结果(错误):
- 我收到以下Realm.io 错误(从
pod 'Realm'安装的pod,因为我在ObjC 中编码):RLMRealm.h:51:1: Duplicate interface definition for class 'RLMRealm'RLMRealm.h:95:62: Property has a previous declarationRLMRealm.h:105:38: Property has a previous declarationRLMRealm.h:110:56: Property has a previous declarationRLMRealm.h:115:38: Property has a previous declarationRLMRealm.h:297:28: Property has a previous declarationRLMRealm.h:493:1: Duplicate interface definition for class 'RLMNotificationToken'
采取的问题解决步骤:
- (以前的编辑历史中导致了这个简化问题)
- 删除所有 pod 并重新安装(无效)
- 在构建阶段取消链接 Pod 框架并重新链接(无效)
- 已清理并构建/已清理构建文件夹并已构建(无效)
- 尝试使用
""、<>和@import导入(目前我的代码中的所有导入都是使用#import <Realm/Realm.h>完成的)(使用#import <Realm和#import "Realm搜索)(无效) - 创建新项目,复制文件,安装 pod(无效)
- 搜索了
"@interface RLMNotificationToken"的项目文件夹,只找到了RLMRealm.h文件的一个实例,所以我没有重复 - 删除我的所有文件(
AppDelegate.h/m除外)构建成功 - 搜索
#import "R、#import <R、@import R发现流氓#import <RLMRealm.h>
问题:
坦率地说,我真的很困惑,现在不知道该怎么办。
那么我该如何解决这些构建错误呢?为什么会这样?或者我应该尝试哪些其他解决问题的步骤?(我们将不胜感激任何这些问题的答案)
【问题讨论】:
-
您是否尝试过清理构建文件夹(不要与
clean混淆)?在 Xcode 中,在按住 Alt/Option 键的同时进入 Product 菜单并选择“Clean Build Folder...”选项;看看有没有帮助。 -
@AustinZ - 好主意!不幸的是,这也不起作用。你还有什么建议吗?