2016-07-11 8 views
0

프로젝트를 실행하는 동안이 오류가 발생합니다. 나는 많은 답변을 언급했고 똑같이했지만이 문제를 해결할 수는 없다.링커 명령 실패 : 아키텍처 arm64에 대한 중복 기호

duplicate symbol _kReachabilityChangedNotification in: 
/Users/admin/Downloads/workRepo/SafetraxApp/MAppIOS/build2/Safetrax/Build/Intermediates/Safetrax.build/Debug-iphoneos/Parent App.build/Objects-normal/arm64/Reachability.o 
Pods/catapush-ios-sdk-pod/CatapushKit/libCatapushLib.a(CLIntReachability.o) 
ld: 1 duplicate symbol for architecture arm64 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 
+2

Reachability를 두 개 이상의 클래스로 가져 오면 이름 충돌이 발생합니다. 가져 오기를 검색하여 중복 된 항목을 제거 할 수 있는지 확인하십시오. – CodeBender

답변

1

귀하가 Apple의 Reachability 스 니펫을 사용한다고 가정합니다. 불행히도, 그 코드와 상수는 여러 코코아 포드에서 사용되고 있습니다. 그것이 바로이 오류의 원인입니다. 기본적으로 심볼/상수 kReachabilityChangedNotification이 바이너리에서 두 번 정의되었습니다 (애플리케이션에서 한 번, CatapushKit 포드에서 한 번).

가장 쉬운 수정 방법은 다음과 같습니다. 코드에서 상수의 이름을 바꿉니다. 다른 옵션은 앱에서 Reachbility 코드를 삭제하고 CatapushKitCLIntReachability 구현을 사용하는 것입니다.

+0

완벽한 답변 @Jens Meder – Himanth