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


234

내 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

감사합니다,


1
libpods.a대상의 "링크 된 프레임 워크 및 라이브러리"에 있는지 확인 했습니까 ? 그리고 당신의 빌드 단계에서도?
BoilingLime

이 문제를 해결 했습니까? 같은 오류가 발생했습니다
Christopher Francisco

@ChristopherFrancisco 나는 그것을 해결했다. 내 대답을 확인하십시오.
Arbitur

1
답변 방법 [1]은 내 문제를 해결했습니다! 도움이
Mário Carvalho

@ MárioCarvalho 저의 대답은 더 길고 초보자에게 친숙한 버전입니다. x)
Arbitur

답변:


524

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

TL; DR

제거 Pods.framework:

  • 폴더 이름 Pods
  • Linked Frameworks and Libraries

5
use_frameworks를 추가 한 후이 문제가 발생했다고 생각합니다! 내 Podfile에 주석을 달았습니다. Pods.framework에 대한 참조를 삭제하면 문제가 해결되었습니다.
StephenT

2
@StephenT 예 나도 그렇게 한 것이 있다고 생각합니다. 처음 사용 use_frameworks!한 다음 사용 하지 않으면 아마도 Pods.framework삭제되지 않았습니다 pod install. Cocoapods에서 버그 일 수 있습니다.
Arbitur

이것은 좋은 대답이며, 예제 앱에는 영향을 미치지 않습니다. 여전히 잘 작동합니다
Gabriel Goncalves

3
그래도 문제가 해결되지 않으면 cocoapods-deintegrate를 사용해보십시오. 그것은 나를 위해이 문제를 해결했습니다.
nickdnk

2
포드 설치를 실행 한 후 어떻게 든 내 포드 폴더에 "Pods_ <프로젝트 이름>". framework 파일이 생겼습니다. 이 파일을 삭제하고 정리 한 후 다시 작성하면이 오류가 해결되었습니다.
Caleb Faruki

209

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

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

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


감사 ! 처음에는 혼란 스럽습니다
Phi Nguyen

6
당신의 설명은 다른 곳에서 본 것보다 훨씬 낫습니다. 나는 무슨 일이 일어나고 있는지 몰랐다. 감사!
Michael Yaworski

Arbitur의 답변과 함께 수행하면 문제가 해결됩니다. 감사!
user1577390

이것은 정확히 내 문제였습니다. 감사!
Antonio Papalillo

내 프로젝트 안에 .xcworkspace 파일이 없습니다. 해야 할 일
Kartiikeya

126

Xcode 9, 10, 11, 11.5

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

pod deintegrate

그때

pod install

1
매력처럼 일했다! 감사합니다. 이 오류를 일으킨 이름이 바뀐 대상에 대한 이전 참조를 제거했습니다.
Alex Obenauer

1
너는 나의 영웅이야! ;)
Swissdude

1
와우 당신은 내 하루를 구 했어요! 어제부터 막혀 마침내 Xcode 10으로 해결되었습니다. 감사합니다!
Purushottam Padhya

1
이것이 정답이어야하며, 가장 안전한 방법입니다. 다른 방법으로는 해결할 수없는 알려진 버그가 아닌 한 CocoaPods와 같은 자동화 된 물건을 사용할 때는 수동 단계를 수행하지 마십시오.
Gobe

1
이 사람은 나를 도와, 놀라운 친구!
Sruit A.Suk

51

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

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


예! 내 문제는 일반 설정의 링크 된 프레임 워크 및 라이브러리에 있었고 텍스트 검색에 나타나지 않기 때문에 찾기가 어려웠습니다!
Alistair Cooper

필자의 경우 프레임 워크 파일은 빨간색이 아니라 회색으로 표시되었습니다. 그러나 그것들을 삭제하면 문제가 해결 된 것 같습니다!
Swindler

29

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

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


27

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

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

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


2
프로젝트 이름을 전환하고 이전 이름을 지워야 할 때 발생합니다. +1
Babbz77 '10

이것은 나를 위해 일했습니다. 프로젝트 이름은 변경하지 않았지만 오랫동안 실행중인 Objective-C 프로젝트에 Swift를 추가했습니다.
Luffy

24

나는 비슷한 문제가 있었다

framework not found Pods_OneSignalNotificationServiceExtension

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


이것은 나를 위해 문제를 해결했습니다. 내 특별한 상황은 iOS 대상 MyApp이 있다는 것입니다. 그런 다음 두 번째 대상을 만들어야하고 MyAppFirst, MyAppSecond 대상이있었습니다. Cocoapods는 필요한 것을 빌드 할 수 있었지만 (Pods_MyAppFirst, Pods_MyAppSecond) 더 이상 존재하지 않는 Pods_MyApp에 연결하려고했습니다. 수정하려고하는 과정에서 "pod -install"을 수행 할 때 작업 공간 파일과 Pods 폴더를 처음부터 다시 만들도록했지만 도움이되지 않았다는 것을 지적하고 싶습니다.
xdeleon

@Sharukh Mastan 포드 설치 후이 작업을 수행하는 방법을 알고 싶으십니까? 내가 포드를 설치할 때마다 대상 Pods_OneSignalNotificationServiceExtension.framework 의 링크 된 프레임 워크 및 라이브러리에서 나를 괴롭히기 위해 돌아옵니다 OneSignalNotificationServiceExtension.
Sethmr

@Sethmr 슬프게도. 그러나 제 경우에는 항상 a 다음에 발생하는 것은 아니며 pod install무작위입니다.
Sharukh Mastan

@SharukhMastan 내 문제는 내 vsts .yml 자동화 스크립트로 *.xcodeproj/*.xcworkspace끝 을 열었습니다 *.xcworkspace. 나는 GUI로 더 잘 알고 있지만 스크립팅 랜드의 요구 사항에 여전히 익숙합니다.
Sethmr

15

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

pod deintegrate

뒤에

pod install

예! 버전을 12.0에서 9.0으로 다운 그레이드 할 때도 같은 문제가있었습니다. 위의 내용은 프로젝트에 있던 것과 일치하도록 Podfile의 대상 버전을 수정 한 후에 작동했습니다.
Richard Bown 2016 년

좋은 답변입니다. 감사합니다.
whdals0

14

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

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


10

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


프로젝트 이름을 바꾼 후 두 가지가있었습니다. 감사!
Jimmy

10

Deployment Target에서 General를 변경했지만에서 변경하는 것을 잊었 기 때문에 나에게 일어난 일 Deployment Target입니다 Pods > General. 배포 대상 변경


Xcode 11.2 / Cocoapods 1.8.4에서도 해결되었습니다. 오류 메시지가 근본 원인을 닮은 ...지지 않습니다 것을 자극성
조나단 엘리스

1
나를 위해 고쳤습니다-두 곳에서 이것을 변경해야한다는 생각이 없었습니다. 정말 감사합니다!
hakazvaka

6

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

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

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


: 당신이 체크 아웃 할 수 github.com/CocoaPods/CocoaPods/issues/...
Esqarrouth

4

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를 제거하십시오.

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

그것은 나를 위해 일했다.


3 단계는 필자의 경우 3 단계-> cmd + alt + shift + k에서 작동했습니다.
ViruMax

4

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

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

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

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

pod deintegrate

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

pod install or pod update

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

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


이 하나만 오류로 2 일간의 투쟁 후 나를 위해 일했습니다.
Mitesh Dobareeya

3

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


3

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

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

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

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


1
당신은 내 생명을 구했습니다
Florian Mac Langlade 14:01에

1
내 목숨도 구했다!
Dan

프로젝트 이름을 바꾸는 것 외에 다른 해결책이 있습니까?
anestis

@anestis 나는 그렇게 생각하지 않습니다. 프로젝트의 이름을 빨리 바꾸려면이 답변에서 명령을 제안 하십시오. 매우 훌륭한 일을하는 stackoverflow.com/a/48004237/4894980 !
AnthoPak

3

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

platform :ios, '11.0'

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

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


당신은 내 하루를 구했다!! 감사합니다
Mayank Patel

3

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

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

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

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

pod deintergate

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

pod install

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

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

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

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

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

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

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

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

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

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

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


포드 대상을 추가하고 빌드하면 실제로 포드 빌드에 무엇이 잘못되었는지 알 수 있습니다. 우리의 경우 이것은 신속한 버전 충돌이었습니다. 감사!
green0range

나는 모든 단계를 따르지 않았습니다. 방금 해당 ${inherited}경로를 추가 한 다음 수행 Product->Clean Build Folder했으며 이제는 장애없이 빌드됩니다.
Starwave

2

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

이전 개발자가 ' Build Settings-> Other Linker Flags 에 플래그를 넣은 것을 발견했습니다. 문제를 만든 프레임 워크 이름 (제 경우 -framework 'OGVKit') ' .

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


정말 고맙습니다! 빌드 설정에서 굵은 글씨 를 항상 지켜봐야합니다!
Marcio Granzotto

2

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

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

platform :ios

대신에

platform :osx

1

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


1

내 경우에는 내가 제거한 라이브러리에 대한 참조가있었습니다.

대상> 빌드 설정> 런 패스 검색 경로

Podfile에서 라이브러리를 제거하고 업데이트해도 분명히 제거되지 않았으므로 수동으로 수행해야했고 이제는 모든 것이 작동합니다.


1

이전 답변 중 어느 것도 내 상황에서 근본 문제를 지적하지 않았습니다. 그래서 이것이 다른 사람에게 도움이되기를 바랍니다.

내 경우에는 프로젝트 루트에서 podfile 을 편집 해야 했습니다. 처음으로 podfile을 만들었을 때 빠른 정적 라이브러리는 지원되지 않았습니다. 그래서 나는 use_frameworks!각 대상 아래의 podfile에서 다음과 같이 사용했습니다.

전에

...
target 'targetName' do
   use_frameworks!
   pod 'podName', '~> 0.2'
end

...
target 'targetName' do
   pod 'podName', '~> 0.2'
end

use_frameworks!podinstall을 실행할 때마다 프레임 워크를 계속 설치 한 podfile에서 제거 했습니다. 이 줄을 제거한 후 pod install다시 실행 하고 Xcode의 Frameworks 폴더에서 빨간색 .framework 참조를 제거하십시오. (아래 그림과 같이 광산이 다르게 나타났습니다.)

더 이상 필요하지 않은 .framework 파일 제거 이미지

자세한 내용은 use_framework! 여기를 참조 하십시오 .


0

.xcworkspace 파일을 열어도 여전히 같은 오류가 발생하는 경우

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

0

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


0

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

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


0

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

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


0

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


0

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


이것을 주석으로 게시하는 것이 좋습니다.
MR

0

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

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

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

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

단일 실행 파일을 작성한 후이 파일을 삭제하십시오. 여기에 이미지 설명을 입력하십시오

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.