programing

이 Crashlytics 컴파일 경고의 원인은 무엇입니까?

goodcopy 2021. 1. 19. 08:04
반응형

이 Crashlytics 컴파일 경고의 원인은 무엇입니까? ( '…'에있는 자동 연결 제공 '…'프레임 워크 링커 옵션은 dylib가 아닙니다.)


내 주요 대상 ( 여기 와 같은 테스트 대상이 아님)을 컴파일 하면 다음 오류가 발생합니다.

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 export IPHONEOS_DEPLOYMENT_TARGET = 8.0 export PATH = "/ Applications / Xcode.app / Contents / Developer / Platforms / iPhoneSimulator.platform / Developer / usr / bin : /Applications/Xcode.app/Contents/Developer/usr/bin : / usr / bin : / bin : / usr / sbin : / sbin "/Applications/Xcode.app/Contents/Developer/Toolchains/ 8.2.XcodeDefault.xctoolchain / usr / bin / clang -arch i386 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulatorsdk -L ~ / Library / Developer / Xcode / DerivedData / MyApp-dbmrsjmskpqxmnegayfzfxgcwvsm / Build / Products / Debug-iphonesimulator -F ~ / Library / Developer / Xcode / DerivedData / MyApp-dbmrsjmskpqxmnegayfzfxgcwvsm / Build / Products / Debugmnegayfzfxgcwvsm / Documents / my_app / MyApp -filelist ~ / Library / Developer / Xcode / DerivedData / MyApp-dbmrsjmskpqxmnegayfzfxgcwvsm / Build / Intermediates / MyApp.build / Debug-iphonesimulator / MyApp.build / Objects-normal / i386 / MyApp.LinkFileList -Xlinker- rpath -Xlinker @ executable_path / Frameworks -Xlinker -objc_abi_version -Xlinker 2 -ObjC -lPods-CocoaLumberjack -lPods-Mantle -framework CFNetwork -framework Foundation -framework Security -framework SystemConfiguration -fobjc-arc -fobjc-link-runtime -Xlinker -no_implicit_dylibs -mios-simulator-version-min = 8.0 -framework CoreGraphics -lPods -framework MapKit -framework Fabric -lPods-MyApp -Xlinker -dependency_info -Xlinker ~ / Library / Developer / Xcode / DerivedData / MyApp-dbmrsjmskpqxmnegayfzfxgcwvsm / Build / Intermediates / MyApp.build / Debug-iphone.build / Debug-iphone.build / Debug-iphone 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 <Crashlytics/Crashlytics.h>하면 오류가 발생합니다.

ld : 경고 : 자동 연결 제공 '../../Crashlytics.framework/Crashlytics', ../../Crashlytics.framework/Crashlytics의 프레임 워크 링커 옵션은 dylib가 아닙니다.

프레임 워크 연결 :

링크 성공다행히도 프로젝트 탐색기 Crashlytics.frameworkFrameworks폴더에서을 목록으로 드래그 Link Binary With Libraries하거나 +.

  • 이 프로세스를 수행하는 동안 대상에서 앱을 선택 / 강조 표시했는지 확인하십시오.

여기에 이미지 설명 입력


같은 문제가 있었지만 이유가 달랐습니다.

오류 출력

ld : 경고 : 자동 연결 제공 '~ / GameFolder / Pods / Fabric / tvOS / Fabric.framework / Fabric', ~ / GameFolder / Pods / Fabric / tvOS / Fabric.framework / Fabric의 프레임 워크 링커 옵션이 dylib가 아닙니다. 정의되지 않음 아키텍처 x86_64의 기호 : "_OBJC_CLASS _ $ _ Answers", 참조 : GameScene.o의 __ObjC.Answers에 대한 유형 메타 데이터 접근 자 AppDelegate.o의 __ObjC.Answers에 대한 유형 메타 데이터 접근 자 "_OBJC_CLASS _ $ _ Crashlytics"에서 참조 : __ObjC_CLASS _ $ _ Crashlytics "에 대한 형식 메타 데이터 접근 자 .Crashlytics in AppDelegate.o "_OBJC_CLASS _ $ _ Fabric", 참조 : AppDelegate.o의 __ObjC.Fabric에 대한 유형 메타 데이터 접근 자 ld : 아키텍처 x86_64에 대한 기호를 찾을 수 없습니다. clang : 오류 : 링커 명령이 종료 코드 1로 실패했습니다 (사용 -v 호출 참조)

이유

  • 내 목표는 OTHER_LDFLAGS.

해결책

  • OTHER_LDFLAGS링커 플래그 만 상속 하도록 변경했습니다 . 기본적으로 다음과 같이 변경했습니다.$(inherited)

나는 i'L'i @ 제공하는 모든 단계를 따라하지만 난 찾을 수 없습니다 Crashlytics.frameworkFabric.framework빌드 단계에서 파일.

그래서 이것은 나를 도왔습니다.

1 단계 : 여기에 제공된 모든 단계를 따릅니다 .

2 단계 : 지금 당신은 찾을 수없는 경우 Crashlytics.frameworkFabric.framework의 파일 Link Binary With Libraries클릭하여이 +다음을 수행합니다.

2.1 : 에서 +버튼을 클릭 합니다 Link Binary With Libraries.
2.2 :Add Other... 버튼을 클릭 합니다.
2.3 : 이제 선택 Crashlytic.frameworkFabric.framework에서 Pod폴더 - cocoapods를 사용하는 경우, 다른 당신이 그것을 다운로드 한 곳에서 모두 파일을 선택합니다.

3 단계 : 성공, 즐기십시오. :)


For future reference, this can also happen if you link your test files to your app target.

For example: https://github.com/realm/realm-cocoa/issues/1661


I had the same problem. Maybe I messed up the initial fabric install but once I added Fabric.framework to the list of frameworks (should be in the root folder of your app by default) everything worked.


Conversely to what I'L'I and user3517250 mention, the problem might also be that you have #import statements that shouldn't be there.

Xcode does infer the frameworks to link against from the #import statements. If you import a framework that you don't link against, then you get this warning.

참조 URL : https://stackoverflow.com/questions/29152442/what-is-causing-this-crashlytics-compile-warning-auto-linking-supplied-f

반응형