objective-c - 在 Objective-c .m 文件中包含 -Swift.h 时出现重复符号链接器错误
问题描述
当我导入目标-Swift.h
文件时,在构建期间我的项目中出现重复的符号链接器错误。如果我不包含此头文件并注释掉项目构建的 swift 类的使用。在我的 Obj-C.m
文件中,我有这个:
#import "MyTarget-Swift.h"
如果没有此导入,编译器将无法识别我在源文件中使用的 swift 类,并且会出现编译器错误。
链接器错误在我的 Obj-C 源文件和另一个 Obj-C 文件中指向 3rd 方库符号,而不是我的 Swift 类文件。第 3 方库标头在我的桥接头文件中声明:
#import <My3rdPartyLibrary/My3rdPartyLibraryHeader.h>
我在 Xcode 9.4.1 上并使用 Swift 4.1。
编辑:我#import "MyTarget-Swift.h"
从目标中保留并删除了 5 个 Swift 文件中的 1 个,并且项目构建。5 个文件中只有被删除的文件引用了第 3 方库。这使我相信编译器没有正确协调引用的符号,或者以某种方式包含引用库两次。
解决方案
推荐阅读
- ionic-framework - ionic 3 navController 推送同一页面问题
- ruby-on-rails - 获取 FactoryBot::DuplicateDefinitionError: 工厂已注册
- sql-server - 避免 MS SQL Server 中的 group by 子句或聚合函数
- java - Anylogic——状态图——连续设定值
- javascript - 有效地比较两个大型对象数组并找出差异
- javascript - JS window.matchMedia 正确语法
- node.js - errorCastError:路径“comments”处的值“comment”转换为 ObjectId 失败
- mongodb - 从如何获取特定时间数据中获取 Mongo 结果
- firebase - 我们可以仅将 Firebase 用于令牌管理吗
- javascript - Fancybox 点击后移除蓝色轮廓