IT story

ld : 프레임 워크를 찾을 수 없음

hot-time 2020. 5. 5. 19:40
반응형

ld : 프레임 워크를 찾을 수 없음


내 IOS 프로젝트에 프레임 워크를 추가하려고하지만 빌드 할 때 항상 동일한 메시지가 나타납니다.

ld : 프레임 워크를 찾을 수 없음

clang : 오류 : 종료 코드 1에서 링커 명령이 실패했습니다 (호출을 보려면 -v 사용).

Pods디렉토리 를 제거한 다음 포드 설치의 로그에 기록 된 것처럼 pod install열어서 .xcworkspacexcode에서 프로젝트를 정리 한 다음 빌드하려고하지만 작동하지 않습니다.

내 podfile은 다음과 같습니다.

xcodeproj '/Users/guillaume/project/Mobile/iOS/FoodPin/FoodPin.xcodeproj'
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
use_frameworks!
pod 'SwiftHTTP', '~> 0.9.2'

내 xcode 버전은 6.3.1

감사합니다,


에서 Project Navigator폴더에 Pods내가 있던 Pods.framework이있는 빨간색했다. 또한에있었습니다 Linked Frameworks and Libraries. 두 참조를 모두 제거하면 오류가 사라졌습니다.

TL; DR

제거 Pods.framework:

  • 폴더 이름 Pods
  • Linked Frameworks and Libraries

일반적으로 .xcworkspace 대신 .xcodeproj 파일이 열려 있기 때문에 발생합니다.

'pod install'을 처음 실행하면 원본 .xcodeproj 및 Pods 프로젝트가 포함 된 .xcworkspace 파일이 생성됩니다. .xcodeproj를 닫고 대신 .xcworkspace를 열어야합니다.

이것은 Xcode의 새로운 프로젝트 마법사를 통해 프로젝트를 만들 때 일반적으로 발생하는 문제입니다. Cocoapods를 올바르게 연결하는 데 필요한 작업 공간이 아니라는 것을 종종 잊습니다.


Xcode 9, 10, 11

https://github.com/CocoaPods/cocoapods-deintegrate 설치

pod deintegrate

그때

pod install

.framework의 폴더 Frameworks에있는 빨간색 파일을 삭제하여이 오류를 해결 했습니다 project navigator. 나는 이것이 설정 Linked Frameworks and Libraries섹션 에서 해당하는 빨간색 항목을 자동으로 삭제했다고 생각합니다 General.

다른 문제를 해결하기 위해 포드를 청소 / 다시 설치했습니다. 아마도이 빨간색 프레임 워크 파일과 항목은 이전 포드 설치에서 남은 것입니까?


이 문제를 누가 찾을 수 있습니까? NativeScript를 사용하고 있는데 같은 오류가 발생했습니다.

.xcodeproj 파일을 열었 기 때문에 발생하지만 .xcworkspace 파일로 프로젝트를 열어야합니다.


내 Podfile을 업데이트하고 포드 업데이트를 수행 한 후에이 문제가 발생했습니다.

어떤 이유로, "Pods_ [ProjectName]". framework 파일이 내 프로젝트 아래 '대상'> 일반> 링크 된 프레임 워크 및 라이브러리에 나타납니다.

이를 삭제 한 다음 정리 / 재 구축하면 문제가 해결되었습니다.


나는 비슷한 문제가 있었다

framework not found Pods_OneSignalNotificationServiceExtension

다음을 제거하여 해결되었습니다. 이동 대상 OneSignalNotificationServiceExtension> 빌드 페이즈> 바이너리를 라이브러리와 연결 및 삭제 Pods_OneSignalNotificationServiceExtension.framework 여기는 비어 있어야합니다. 희망이 도움이됩니다. 건배.


내 프로젝트의 이름을 바꾸고 포드 파일에서 프로젝트 이름을 변경했기 때문에이 오류가 발생했지만 프로젝트가 이전 이름을 참조 하여이 오류가 발생했습니다. 나는 이것을 제거한다

pod deintegrate

뒤에

pod install

이 그림과 같은 일부 파일을 프로젝트에서 삭제해야합니다.

pods.framework를 삭제하고 pods는 빨간색 파일을 표시합니다.


"프로젝트-> 일반-> 링크 된 프레임 워크 및 라이브러리"목록에서 .framework를 제거하십시오.


필자의 경우 장치 및 시뮬레이터에서 빌드 할 수 있지만 보관시 동일한 오류가 있습니다. 그것을 해결하려면

  • 없애다 Pods.framework
  • Pods-<project-name>.framework내장되어 있는지 확인하십시오

TARGETS-> Linked Frameworks and Libraries에서 설정을 찾을 수 있습니다.


포드가 프로젝트에 제대로 작동하도록 노력하고있는 것보다 더 낫습니까? 이를 수행하는 유일한 방법은 CocoaPods를 사용하는 별도의 프로젝트를 작성하는 것입니다.

사용중인 모든 작업 공간을 닫으십시오.

다음으로, Podfile을 완전히 준비하십시오.

파일이 어디에 있든 명령 행에 다음 명령을 입력하십시오.

pod deintegrate

그런 다음 포드 agian를 설치하십시오.

pod install or pod update

이제 프로젝트의 새로운 작업 공간을 사용하여 개발할 수 있습니다. .workspace라는 파일을 찾으십시오. 그 파일을 사용하십시오!

CocoaPods 사용에 대한 가이드는 다음과 같습니다.


1 단계

가장 먼저해야 할 일은 Podfile, Podfile.lock, Pods 폴더 및 생성 된 작업 공간을 제거하는 것입니다.

2 단계

그런 다음 .xcodeproj에서 Pods.xcconfig 파일 및 libPods.a 파일에 대한 참조를 제거하십시오.

3 단계

Build Phases 프로젝트 탭에서 Check Pods Manifest.lock 섹션 (열기), Copy Pods Resources 섹션 (아래) 및 Embed Pod Resources (아래)를 삭제하십시오.

4 단계

Pods.framework를 제거하십시오.

당신이하고 싶은 유일한 것은 이전에 사용했던 일부 라이브러리를 포함하는 것입니다. 포드 폴더에있는 폴더를 프로젝트로 드래그하면됩니다 (지원 파일 폴더에 저장하는 것을 선호합니다).

그것은 나를 위해 일했다.


Xcode 8.3을 사용하면 받아 들여진 대답이 효과가 없었습니다. 나는 다른 많은 솔루션을 시도했지만 @Elliott Davies 대답은 그것을 고쳐 놓은 것입니다. 명확성을 위해 스크린 샷을 추가하고 있습니다. 어떤 이유로 Xcode는 더 이상 존재하지 않는 이전 podfile 설정을 연결하려고했습니다. 내가해야 할 일은 여분의 참조를 삭제하고 모든 것이 작동했습니다.Xcode 링크 프레임 워크 및 라이브러리 스크린 샷


배포 대상 변경대상 배포 General를 변경했지만에서 대상 배포를 변경하는 것을 잊었 기 때문에 발생 했습니다 Pods > General.


이 문제는 프로젝트를 변경하지 않고 갑자기 발생했기 때문에 나를 미치게했습니다. 이 스레드 (및 기타 관련)에서 제안 된 모든 솔루션을 시도했지만 그중 어느 것도 문제를 해결하지 못했습니다.

저의 다른 프로젝트 들과는 다른 유일한 점은 (잘 컴파일 된) 이 프로젝트 이름에 악센트 (프랑스어 악센트 "é")가 포함되어 있다는 것입니다. 프로젝트와 모든 관련 파일의 이름을 바꾸었고 마침내 작동했습니다!

이 프로젝트는 이전에 제대로 작동했기 때문에 Xcode 10으로 업데이트되었을 수 있습니다.

편집 : -프로젝트 이름 으로 프로젝트를 사용할 때 실패한 것 같습니다 ...


이것이 내 문제를 해결하는 방법입니다. 이 답변을 작성할 때 이제 작동합니다.

먼저 위의 모든 수정 방법을 시도합니다.

대상의 빌드 단계에서 링크 라이브러리 및 프레임 워크에서 Pods_xxx.framework를 제거하면 도움이되며 문제는 사라지지만 앞으로 나올 문제는 Pods.framework를 더 이상 가져올 수 없다는 것입니다.

그런 다음 xcworkspace 구성을 다시 초기화하여 실제 문제를 파악할 수 있습니다. 그래서 나는 달린다

pod deintergate

그런 다음 포드를 다시 설치하십시오.

pod install

이것은 현명하게 작동하지만 문제는 여전히 있지만 실제 문제는 Pods_xxx.framworks가 cocoapods 빌드 스크립트에 의해 컴파일되지 않는다는 것을 알았습니다. 이것이 문제를 해결하는 진정한 방법이라고 생각합니다.

마지막으로 프로젝트 계획을 편집하려고합니다.

포드 구성표가 편집되지 않았습니다

그리고 포드 구성표를 관리에 추가합니다.

여기에 이미지 설명을 입력하십시오

이 Pods.framework를 개별적으로 빌드하면 Pods.framework 아이콘이 다시 실제로 나타납니다.

여기에 이미지 설명을 입력하십시오

그리고 지금은 "framework not found Pods_xxxx.framework"문제를 해결했지만 실제로 다른 문제가 있다고 생각합니다.

여기에 이미지 설명을 입력하십시오

그래서 내가 빌드 설정 및 편집에 가서 "Framework Search Path"으로 "${inherited}", 지금 모든 문제는 응원을 간다 !! :)

여기에 이미지 설명을 입력하십시오


다운로드하여 CocoaPods빌드 한 프로젝트를 선택하여이 문제를 해결 했습니다. 구성표 관리를 클릭하여 실행 막대에 표시되도록 할 수 있습니다. 그런 다음 프로젝트를 다시 빌드 할 수 있습니다. 도움이 되길 바랍니다.


필자의 경우 올바르게 빌드 한 지점 간의 차이점을 비교 한 후 Podfile에서 다음 줄을 발견했습니다.

platform :ios, '11.0'

Xcode의 대상이 10으로 설정된 상태에서 실수로 대상 버전을 10에서 11로 상향 조정했습니다. 10으로 되 돌리면 문제가 해결되었습니다.

대상 iOS 버전이 올바르게 설정되어 있는지 확인하십시오.


포드를 제거하고 업데이트 한 후에도 여전히 동일한 문제가 발생했습니다.

이전 개발자가 문제를 일으킨 프레임 워크 이름 (제 경우 -framework 'OGVKit') 으로 ' 빌드 설정-> 기타 링커 플래그 ' 에 플래그를 넣은 것을 발견했습니다 .

해당 플래그를 삭제하면 프로젝트가 올바르게 빌드됩니다.


.xcworkspace 파일을 연 후에도 여전히 같은 오류가 발생하면

delete all the contents of Pods directory and from command line write "pod install" to resolve the issue.

포드 설치 또는 업데이트 후 생성 된 프레임 워크 폴더 삭제


platform올바르게 설정하지 않았기 때문에이 문제가 발생했습니다 .

그래서 macOS 앱에서 플랫폼을 다음과 같이 설정했습니다.

platform :ios

대신에

platform :osx

내 문제를 해결 한 다른 것은 Target-> Build Settings-> Other linker Flags로 이동하여 "-framework"와 프레임 워크 "name"을 삭제하는 것입니다.

포드를 제거하려고 할 때 발생했습니다.


.framework파일을 링크 된 프레임 워크 및 라이브러리 로 드래그 하여이 문제를 해결했습니다.

오류로 인해이 문제가 발생했다고 말하고 파일을 링크 된 프레임 워크 및 라이브러리로FIRAnalyticsConnector not found 드래그하면 문제가 해결됩니다.FIRAnalyticsConnector.framwork


나는 여기에 대한 모든 대답을 시도했지만 아무도 효과가 없었습니다. 배포 대상을 10.0에서 11.0으로 올려서 작동하게되었습니다. 왜 그 문제가 해결되었는지는 모르겠지만 Xcode 10.2.1로 업그레이드하는 것과 관련이 있다고 생각합니다.


.Framework와 같은 Executable 파일을 확인하십시오. 여기에 이미지 설명을 입력하십시오

  1. 실행 파일 이름은 확장자가 없어야합니다.

  2. 이와 같은 일부 프레임 워크 여기에 이미지 설명을 입력하십시오

  3. 터미널 goto .framework 디렉토리 사용 아래 명령 lipo -create FrameworkName-x86_64 FrameworkName-armv7 FrameworkName-armv7s FrameworkName-i386 FrameworkName-arm64 -output FrameworkName

단일 실행 파일을 만든 후이 파일을 삭제하십시오 여기에 이미지 설명을 입력하십시오


나에게 문제는 배포 대상을 변경하는 것이 었습니다. 9.0 이상으로 변경했지만 11.0 이상으로 변경하면 효과가 있습니다.


어쩌면 갑자기 .xcodprj의 잘못된 파일을 열면 .xcworkspace를 열어야합니다

참고 URL : https://stackoverflow.com/questions/29865899/ld-framework-not-found-pods

반응형