프레임 워크를 사용할 수 없음 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를 사용하십시오.
나는 처음으로 알아 차리지 파일을 사용하여 프로젝트를 빌드했습니다. 이 메시지를 본 후 올바른 프로젝트를 열 제대로 작동했습니다.
이 프로젝트를 열면 두 개의 하위 프로젝트가 있음을 알 수 있습니다. 하나는 프로젝트이고 다른 하나는 Pods 프로젝트입니다.
프레임 워크를 사용할 수 없음
포드를 사용할 때 일반적 으로이 문제가 발생합니다.
여기에는 두 가지 주요 이유가 있습니다.
- 우리가 열 때 .xcodeproj의 대신 파일 .xcworkspace를 이에 izaaz-유누스에 의해 한 바와 같이 대답
때 빌드 액티브 아키텍처 전용으로 설정되어 있음 에 빌드 설정
이는 모든 대상에 적용됩니다.
- 빌드 설정 (메인 프로젝트, 팟 프로젝트 모두)을 선택 하십시오.
- 각 대상을 하나씩 선택하십시오.
- 각 대상에 대해 Build Active Architectures 를 No 로 설정 하십시오.
마지막으로 프로젝트를 정리하고 다시 빌드하십시오.
제 경우에는 모든 통합이 잘 수행되었으며 pod를 제거하고 다시 설치하는 데 너무 많은 시간을 시도했지만 성공하지 못했습니다.
마지막으로 아래 단계로 시도하십시오.
Projetc-> 체계 관리-> "Pods-MyProjectName"확인란 선택
그리고 성공하십시오.
GoogleToolboxForMac은 Firebase / Messaging의 종속성입니다. podspec의 세부 사항 . "pod 업데이트"를 수행 할 때 Cocoapods는 GoogleToolboxForMac을 빌드하고 연결하도록 작업 공간을 설정해야합니다.
작업 공간이 잘못된 상태 인 것 같습니다. Product-> Clean이 도움이됩니까? 파생 데이터와 ModuleCache를 삭제하는 것은 어떻습니까 (Xcode-> 환경 설정-> 위치-> 파생 데이터)?
꼭 필요하지는 않지만 'GoogleToolboxForMac / Logger'포드를 Podfile에 명시 적으로 추가해 볼 수도 있습니다.
이는 빌드 설정-> LIBRARY_SEARCH_PATHS 검색에 $ (상 속됨) 을 추가하여 해결 되었습니다.
프로젝트가 의존하는 최신 버전의 라이브러리에 대한 포드 파일을 업데이트 할 때 디버그 출력이 모든 $ (상속 된) 플래그를 추가해야하는 위치를 알려주기 때문에 이해할 수 있습니다. LIBRARY_SEARCH_PATHS OTHER_LD_FLAGS GCC_PREPROCESSOR_DEFINITIONS
그 작품 1. 디렉토리에서 프로젝트 선택 2. 일반 선택 3. 링크 된 "프레임 워크 및 라이브러리"에 "GoogleToolboxForMac.framework"를 추가합니다.
내 장치에서 실행하려고 할 때 동일한 문제가 발생했습니다. 시뮬레이터에서는 잘 작동했습니다. 나는 위의 일부를 시도했지만 작동하지 않았습니다. 파일 .xcworkspace
대신 작업 중인지 확인 .xcodeproj
하여이 작업을 시도했습니다. 다음 단계를 따르십시오.
- .xc ... 파일을 사용하여 Xcode 프로젝트 (cocoapods 프로젝트)를 엽니 다.
- 프로젝트 탐색기에서 Pods 프로젝트를 선택합니다 (왼쪽에 파란색 아이콘).
- 대상에서 Pods-ProjectName (파란색 아이콘)이 선택되어 있는지 확인합니다.
- 빌드 설정으로 이동하여 프로젝트를 실행할 iOS 버전의 iOS 배포 대상을 설정합니다.
참고 :에서 설정 한 것과 동일 Project->Targets->Deployment info->Deployment Target
합니다.
누군가 이로부터 혜택을받을 수도 있습니다.
:로 이동 target -> Build Settings -> Other Linker Flags -> remove framework "GoogleToolboxforMAC"
하여 프로젝트를 빌드하십시오.
pod 설치를 한 후 빌드하려는 프로젝트를 닫은 다음 .workspace를 열면 모든 것이 완벽하게 빌드됩니다.
프로젝트 대상에서 your-project.xcworkspace를 엽니 다.
1) 터미널 열기-> 2) $ cd / project_destination-> 3) $ open your-project.xcworkspace
또는 파인더에서 파일 열기
프로젝트 대상과 포드 모두에 대한 "Build Active Architecture 설정"이 동일한 지 확인하십시오. 이 두 경우 모두 NO를 설정하면 내 문제가 해결되었습니다.
내 문제는 존재하지 않는 특정 포드를 복사하는 / bin / sh 스크립트가 있다는 것입니다. 이것은 그들 중 하나였습니다. 스크립트를 제거하면 빌드 문제가 해결되었습니다.
-하드 드라이브에서 GoogleToolboxForMac 파일을 검색합니다. / Users / Marco / Documents / iosapps / BomRetiro / Bom Retiro / Pods / Target Support Files
- 그런 다음 파일을 다음 폴더에 복사했습니다. / Users / YourHomeFolder / Library / Developer / Xcode / DerivedData / Bom_Retiro-bsfjbazzzuwmuidqurdmjvdtnnsb / Build / Products
그리고 나를 위해 usinf .xcworkspace 파일을 여는 것이 해결되었습니다.
동일한 오류가 발생하면 XCode에서 다음으로 이동하십시오.
프로젝트 > 대상 > 링크 된 프레임 워크 및 라이브러리 까지 아래로 스크롤 하고 라이브러리 항목이 표시되는지 확인합니다.
제거하고 다시 추가하십시오. (XCode가 디스크에서 항목을 사용하지 않을 때).
Swift 5 간단한 답변
Shift+Alt+Cmd+K //Clean the project and Run again!
//if not work restart Xcode and again clean it
//Its will work happy coding
Friends, you must be confused with the exact result, as i was. So, i feel to share the
screenshot that might be helpful. We all had to be careful that we need to change the flag for property **"Build Active architecture Only"** for **pod target** to **NO** And build, it would not show the linking error.
See the attached screenshot.
Screen Shot 1, Screen Shot 2, Screen Shot 3
[Select Pods][1]
[Select Targets in the pod][2]
[Change flag to No][3]
[1]: https://i.stack.imgur.com/E7mjX.png
[2]: https://i.stack.imgur.com/wCwET.png
[3]: https://i.stack.imgur.com/KVGKM.png
참고 URL : https://stackoverflow.com/questions/40358719/framework-not-found-googletoolboxformac
'ProgramingTip' 카테고리의 다른 글
Django 모델에서 UUID를 기본 키로 사용 (일반 관계 영향) (0) | 2020.10.15 |
---|---|
Java에서 디렉토리 컨텐츠를 삭제하는 방법은 무엇입니까? (0) | 2020.10.15 |
생성자가 최종적이 될 수없는 이유 (0) | 2020.10.15 |
bash 히스토리를 사용하여 이전 명령을 가져오고 복사 한 다음 '실행'하지만 명령이 주석 처리됨 (0) | 2020.10.15 |
rails- 콘솔 출력을 파일로 리디렉션 (0) | 2020.10.15 |