[ios] arm64 아키텍처에 대한 중복 기호

Xcode 프로젝트를 실행하려고하면 중복 된 기호가 있다는 오류와 함께 실패합니다. 나는 온라인에서 이러한 중복을 찾았지만 운이 없었습니다.

여기에 이미지 설명 입력

이 문제를 해결하는 방법에 대한 아이디어가 있습니까?



답변

오류로 인해 FacebookSDK.framework에 이미 Bolts.framework 클래스가 포함되어있는 것으로 보입니다. 프로젝트에서 추가 Bolts.framework를 제거해보십시오.


답변

저에게는 “공용 블록 없음”컴파일러 설정을 NO로 전환하는 데 도움이되었습니다.이 설정은 여기에 설명되어 있습니다.
GCC_NO_COMMON_BLOCKS는 무엇에 사용됩니까?


답변

Xcode 8을 사용하여 “권장 설정으로 프로젝트 업데이트”옵션이 내 프로젝트에 대해 ‘공통 블록 없음’을 켭니다.

다시 끄면 모든 것이 해결되었습니다.


답변

나를 위해 실수로 파일을 .h가 아닌 .m으로 가져온 것입니다.


답변

포드를 다운 그레이드하는 동안 포드를 엉망으로 만들었 으며 포드를 제거하고 다시 설치하여 arm64 아키텍처의 중복 기호 문제를 해결했습니다 .

pod deintegrate
pod install


답변

또 다른 해결책은 다음과 같습니다.

선택 프로젝트 -> 대상 -> 빌드 단계 -> 컴파일 소스 -> 귀하의 경우에는 (3 마지막 오류 라인에 언급 된 파일을 검색 BFAppLinkReturnToRefererView.o ).

그러면 검색 결과에 1 개 또는 2 개의 파일이 표시됩니다.

그중 하나를 제거 하고 다시 컴파일하십시오. . 파일이 하나만 남아 있고 빌드 충돌이 더 이상 없기 때문에 지금 다시 컴파일해야합니다.

그래도 작동하지 않으면 파일에 오류가있을 수 있으므로 모두 제거하고 다시 컴파일해야합니다. 다시 작동합니다.


답변

Xcode 8로 업그레이드 할 때 권장 설정으로 업그레이드하라는 메시지가 표시됩니다. 나는 수락했고 모든 것이 업데이트되었습니다. 컴파일 시간 문제가 발생하기 시작했습니다.

XXXX에 대한 중복 기호 XXXX에 대한 중복 기호 XXXX에 대한 중복 기호

총 143 개의 오류. 대상-> 빌드 설정-> 공통 블록 없음-> 아니오로 설정하십시오. 이것은 문제를 해결했습니다. 문제는 통합 프로젝트에 공통된 코드 블록이있어서 컴파일 할 수 없다는 것입니다. 설명은 여기 에서 찾을 수 있습니다 .