Ios 是什么导致此Crashlytics编译警告?(提供的自动链接';.&&';处的框架链接器选项不是动态库)

Ios 是什么导致此Crashlytics编译警告?(提供的自动链接';.&&';处的框架链接器选项不是动态库),ios,xcode,crashlytics,Ios,Xcode,Crashlytics,编译我的主目标(不是类似的测试目标)会产生以下错误: ld: warning: Auto-Linking supplied '~/Documents/my_app/MyApp/Crashlytics.framework/Crashlytics', framework linker option at ~/Documents/my_app/MyApp/Crashlytics.framework/Crashlytics is not a dylib 通过此生成命令: Ld/B

编译我的主目标(不是类似的测试目标)会产生以下错误:

ld: warning: Auto-Linking supplied 
   '~/Documents/my_app/MyApp/Crashlytics.framework/Crashlytics', 
framework linker option at 
    ~/Documents/my_app/MyApp/Crashlytics.framework/Crashlytics 
is not a dylib
通过此生成命令:

Ld/Build/Products/Debug iphonesimulator/MyApp.app/MyApp normal i386 cd~/Documents/my_app/MyApp 导出IPHONEOS_部署_目标=8.0 export PATH=“/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/sbin:/sbin” /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang-arch i386-isysroot/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator8.2.sdk-L~/Library/Developer/Xcode/DerivedData/MyApp dbmrsjmskpqxmnegayfzfxgcwvsm/Build/Products/Debug iphonesim-F~/Library/Developer/Xcode/DerivedData/MyApp dbmrskpqxmnegayfzfxgcwvsm/Build/Products/Debug iphonesimulator-F~/Documents/my_app/MyApp/MyApp-filelist~/Library/Developer/Xcode/DerivedData/MyApp dbmrskpqxmnegayfzfxgcwvsm/Build/Intermediates/MyApp.Build/Debug-iphonesimulator/MyApp.Build/Objects/Objects-normal/i386/MyApp.LinkFileList-Xlinker-rpXlinker @ ExcutababyPosith/Framework——Xlinker -ObjcAbabix版本-xLoker-Obj-LPODS CuuluMunBeJeJ-LPODS地幔-框架CFNET-框架基础-框架安全性-框架系统配置-FObjc ARC-FOBC链接运行时- Xlinker - Noi-PyclisiyDyLiB-MIOS模拟器版本MIN=8 -框架核心图-LPODs -框架MapKit-framework Fabric-lPods MyApp-Xlinker-dependency_info-Xlinker~/Library/Developer/Xcode/DerivedData/MyApp dbmrsjmskpqxmnegayfzfxgcwvsm/Build/mediates/MyApp.Build/Debug-iphonesimulator/MyApp.Build/Objects-normal/i386/MyApp_dependency_info.dat-o~/Library/Developer/Xcode/DerivedData/MyApp dbmrsjmskpqxmnegayfzfxgcwvsm/Build/Products/Debug iphonesimulator/MyApp.app/MyApp


缺少的链接:

此错误几乎总是由于没有将二进制文件链接到库而产生的(在本例中是
Crashlytics.framework
):

尝试构建目标
MyApp
(其中包含带有
#import
的标题)将产生错误:

ld:警告:已提供自动链接 “../../Crashlytics.framework/Crashlytics”,位于的框架链接器选项 ../../Crashlytics.framework/Crashlytics不是动态库

链接框架:

幸运的是,只需将
Crashlytics.framework
从项目导航器中的
Frameworks
文件夹拖动到
链接二进制文件与库的列表中,或者使用
+
即可轻松解决问题

  • 执行此过程时,请确保在目标下选择/突出显示应用程序

我也遇到了同样的问题。可能是我把最初的fabric安装搞砸了,但一旦我将fabric.framework添加到框架列表中(默认情况下应该在应用程序的根文件夹中),一切都正常了。

为了将来的参考,如果将测试文件链接到应用程序目标,也会发生这种情况

例如:

与I'L'I和user3517250提到的相反,问题还可能是您的
#import
语句不应该存在


Xcode确实从
#import
语句中推断出要链接的框架。如果您导入了一个未链接的框架,则会收到此警告。

我遇到了相同的问题,但原因不同

错误输出 ld:警告:提供的自动链接“~/GameFolder/Pods/Fabric/tvOS/Fabric.framework/Fabric”,位于~/GameFolder/Pods/Fabric/tvOS/Fabric.framework/Fabric的框架链接器选项不是动态库 架构x86_64的未定义符号: “_OBJC_CLASS_$_Answers”,引用自: 在GameSecene.o中为uu ObjC.Answers键入元数据访问器 在AppDelegate.o中为_ObjC.Answers键入元数据访问器 “_OBJC_CLASS_$_Crashlytics”,引用自: 在AppDelegate.o中为uu ObjC.Crashlytics键入元数据访问器 “_OBJC_CLASS_$_Fabric”,引用自: 在AppDelegate.o中为_ObjC.Fabric键入元数据访问器 ld:找不到架构x86_64的符号 叮当声:错误:链接器命令失败,退出代码为1(使用-v查看调用)

理由
  • 我的目标是覆盖
    其他\u LDFLAGS
解决方案
  • 其他\u LDFLAGS
    更改为仅继承链接器标志。基本上,将其更改为
    $(继承)

我遵循了@I'L'I提供的所有步骤,但在构建阶段我无法找到
Crashlytics.framework
Fabric.framework
文件

所以这对我有帮助

步骤1:遵循给定的所有步骤

步骤2:现在,当您无法在
中找到
Crashlytics.framework
Fabric.framework
文件时,请单击
+
将二进制文件链接到库中

2.1:单击
链接二进制文件与库中的
+
按钮
2.2:点击
添加其他…
按钮。
2.3:现在从
Pod
文件夹中选择
crashlysic.framework
Fabric.framework
——如果使用cocoapods,则从下载位置选择这两个文件


第3步:构建成功,请欣赏。

现在,Fabric.framework也需要以相同的方式链接。您完全挽救了我浪费的时间!嘿,我最近也遇到了同样的问题。我从谷歌得到了它,正是我的单元测试给我带来了麻烦。所以,是的,解决方案是相同的,但目标是MyAppTests,所以请记住!!是的,