[ios] 프레임 워크를 찾을 수 없음 GoogleToolboxForMac

“pod update”를 통해 Firebase를 업데이트 한 후 다음과 같은 오류가 발생했습니다.

ld: warning: directory not found for option '-F/Users/bennysantoso/Library/Developer/Xcode/DerivedData/FCM-atfcxuircoryufazlomgwfgmvaqm/Build/Products/Debug-iphonesimulator/GoogleToolboxForMac'
ld: framework not found GoogleToolboxForMac
clang: error: linker command failed with exit code 1 (use -v to see invocation)

여기 내 Podfile :

# Uncomment this line to define a global platform for your project
# platform :ios, '9.0'
pod 'Firebase/Core'
pod 'Firebase/Messaging'

target 'BB' do
  # Comment this line if you're not using Swift and don't want to use dynamic frameworks
  use_frameworks!

  # Pods for BB

  target 'BBTests' do
    inherit! :search_paths
    # Pods for testing
  end

  target 'BBUITests' do
    inherit! :search_paths
    # Pods for testing
  end

end

아무도이 오류에 대해 알고 있습니까?

GoogleToolboxForMac과 Firebase의 관계를 찾고 있지만 약간의 정보 만 얻습니다.

참고로 Swift 2.3과 Firebase 3.8.0을 사용합니다.

도움을 주시면 감사하겠습니다. 감사!



답변

나는 같은 오류가 있었다. 포드를 설치하면 다음 메시지가 표시됩니다.

[!] 현재 Xcode 세션을 닫고 지금부터이 프로젝트에 MyApp.xcworkspace를 사용하십시오.

나는 이것을 처음으로 알아 차리지 못했고 일반 xcodeproj 파일을 사용하여 프로젝트를 빌드하려고했습니다. 이 메시지를 본 후 올바른 프로젝트를 열었고 제대로 작동했습니다.

이 프로젝트를 열면 두 개의 하위 프로젝트가 있음을 알 수 있습니다. 하나는 프로젝트이고 다른 하나는 Pods 프로젝트입니다.


답변

프레임 워크를 찾을 수 없음

포드를 사용할 때 일반적으로이 문제가 발생합니다.

여기에는 두 가지 주요 이유가 있습니다.

  1. 우리가 열 때 .xcodeproj의 대신 파일 .xcworkspace을 이에 izaaz – 유누스에 의해 언급 한 바와 같이 대답
  2. 빌드 액티브 아키텍처 전용 으로 설정되어 있음빌드 설정

    이는 프로젝트 대상 및 포드 프로젝트의 모든 대상에 적용됩니다.

주요 프로젝트 스크린 샷
Build Active Architecture Only를 No로 설정

포드 프로젝트 스크린 샷
여기에 이미지 설명 입력

  1. 빌드 설정을 선택 합니다 (메인 프로젝트, pod 프로젝트 모두)
  2. 대상을 하나씩 선택하십시오.
  3. 각 대상에 대해 Build Active ArchitecturesNo 로 설정 하십시오.

마지막으로 프로젝트를 정리하고 다시 빌드하십시오.


답변

제 경우에는 모든 통합이 잘 수행되었으며 pod를 제거하고 다시 설치하는 데 너무 많은 시간을 시도했지만 성공하지 못했습니다.

마지막으로 아래 단계로 시도하십시오.

Projetc-> 구성표 관리-> “Pods-MyProjectName”확인란 선택

그리고 성공하십시오.


답변

GoogleToolboxForMac은 Firebase / Messaging의 종속성입니다. podspec의 세부 사항 . “pod 업데이트”를 수행 할 때 Cocoapods는 GoogleToolboxForMac을 빌드하고 연결하도록 작업 공간을 설정해야합니다.

작업 공간이 잘못된 상태 인 것 같습니다. Product-> Clean이 도움이됩니까? 파생 데이터와 ModuleCache (Xcode-> 환경 설정-> 위치-> 파생 데이터)를 삭제하는 것은 어떻습니까?

꼭 필요하지는 않지만 ‘GoogleToolboxForMac / Logger’포드를 Podfile에 명시 적으로 추가해 볼 수도 있습니다.


답변

그 작품
1. 디렉토리에서 프로젝트 선택
2. 일반 선택
3. 링크 된 "프레임 워크 및 라이브러리"에 "GoogleToolboxForMac.framework"를 추가합니다.


답변

이 문제는 빌드 설정-> LIBRARY_SEARCH_PATHS 검색에 $ (상 속됨) 을 추가하여 해결 되었습니다.

프로젝트가 의존하는 최신 버전의 라이브러리에 대한 포드 파일을 업데이트 할 때 디버그 출력이 모든 $ (상속 된) 플래그를 추가해야하는 위치를 알려주기 때문에 이해할 수 있습니다. LIBRARY_SEARCH_PATHS OTHER_LD_FLAGS GCC_PREPROCESSOR_DEFINITIONS


답변

:로 이동 target -> Build Settings -> Other Linker Flags -> remove framework "GoogleToolboxforMAC"하여 프로젝트를 빌드하십시오.