ld:警告:某些目标文件具有不兼容的 Objective-C 类别定义。某些类别元数据可能会丢失。所有包含 Objective-C 类别的文件都应该使用相同的编译器构建。
当我通过 cocopods 安装 Firebase/Core 时出现上述警告。而且我相信它会导致错误,因为我的项目无法在我的项目中的 App deleagate 处读取 FIRApp.configure()。我确定我下载了 GoogleService-Infor.plist 并将其放在项目中的正确位置,因为我之前在另一个项目上做过(正常工作),我的另一个项目没有 Objective-C 类别警告。
谁能帮我吗?
我做过的过程:
- 在项目 podfile 中添加 pod 'Firebase/Core',关闭 xcode。
打开终端,进入目标项目文件夹,执行
pod install
.在终端上出现警告(解决方案:只需将 $(inherited) 放在 ALWAYS_... 的构建设置中,然后问题解决)[!]
xxxxxx-ebooking [Debug]
目标覆盖ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES
`Pods/Target Support Files/Pods-xxxxxx 中定义的构建设置-ebooking/Pods-xxxxx-ebooking.debug.xcconfig'。这可能会导致 CocoaPods 安装出现问题:- 使用
$(inherited)
旗帜,或 - 从目标中删除构建设置。
- 使用
在 xcode 上出现警告(这个问题很简单,只需提交新文件,警告就会消失):
file:///Users/yyyyyy/Projects/xxxxxx_projects/xxxxxx-ebooking/Pods/Target%20Support%20Files/Pods-xxxxxx-ebooking/Pods-xxxxxx-ebooking.debug.xcconfig:警告:缺少文件:/Users/yyyyyy /Projects/xxxxxx_projects/xxxxxx-ebooking/Pods/Target Support Files/Pods-xxxxxx-ebooking/Pods-xxxxxx-ebooking.debug.xcconfig 从工作副本中丢失
忽略3、4的问题过程,因为很容易解决。因为最连线的警告是:
ld:警告:某些目标文件具有不兼容的 Objective-C 类别定义。某些类别元数据可能会丢失。所有包含 Objective-C 类别的文件都应该使用相同的编译器构建。
Firebase Analytics 尚未创建。请通过调用 [FIRApp configure] 来配置 Firebase
我确实将 FIRApp.configure() 放在了我的项目中。但是当我在某些视图上调用 FA 事件确实加载时,它会显示此警告。我相信这是因为Objective-C的警告。