FBSDKCoreKit / FBSDKCoreKit.h 찾을 수 없음 오류


78

FB 로그인을 구현하고 있으므로 https://developers.facebook.com/docs/ios 에서 SDK를 다운로드했습니다 . 그럼 내가 드래그 N 아래로 FBSDKCoreKit, FBSDKLoginKit그리고 FBSDKShareKit내 프로젝트에 프레임 워크.

내가 프로젝트를 실행하면 잘 작동합니다. 하지만 닫았다가 다시 열면 "FBSDKCoreKit/FBSDKCoreKit.h not found error"나타납니다. 그런 다음 다시 붙여 넣기 FBSDKCoreKit프레임 워크를 내 프로젝트의 라이브러리에 복사 하고 오류가 사라지고이 프로세스가 계속됩니다. 전에이 문제에 직면 한 사람이 있습니까?

이 오류를 해결하려면 어떻게해야합니까?


.plist를 설정 했습니까
EI Captain v2.0

예, FB ID, 이름 및 URL 유형
M Swapnil

@MSwapnil 이것에 대한 해결책을 찾았습니까?
Femina

3
@MSwapnil 저는 Pods를 사용하고 있으며 Bolts pod도 설치했습니다. 하지만 여전히, 위의 문제는 무슨 일이 일어나고 ...
Femina

1
@Femina에 대한 해결책을 찾았습니까? 나는 또한 포드를 사용하고 있습니다
Ne AS

답변:


95

다음 단계를 따르십시오.

대상 그룹의 폴더에 항목 복사를 선택 취소합니다. https://developers.facebook.com/docs/ios/getting-started/

또한 빌드 설정에서 "프레임 워크 검색 경로"필드를보십시오. 다음과 같은 내용이 있어야합니다.

/Users/[username]/Documents/FacebookSDK

또는 더 일반적인 구성의 경우

~/Documents/FacebookSDK

또한 Finder를보고 프레임 워크가 실제로 있는지 확인하십시오.


3
항목을 폴더로 복사 하시겠습니까?를 선택 취소하거나 선택하십시오.
M Swapnil

선택 취소-선택하지 않음
etayluz

9
같은 문제가 있었지만 SDK 이름을 "FacebookSDKs-iOS-20151111"에서 "FacebookSDK"로 변경하지 않았습니다 ...
adamteale

1
나는 그것이되어야한다고 생각한다 : $ {HOME} / Documents / FacebookSDK
Nestor

5
FacebookSDK로 이름을 바꾸고 정확히 Documents 폴더에 있어야하는 이유는 무엇입니까?
GutenYe

64

업데이트 후 Cocoapods 1.0.0, 내가 삭제 pod.lock하고 (현재 안정 포드 버전 설치 4.7.0에 대한을 4.11.0의) FBSDKCoreKit, FBSDKLoginKit,FBSDKShareKit

그런 다음 동일한 오류가 발생합니다. 내가 한 일은 :

  1. Xcode에 헤더 검색 경로 빌드 설정 추가 :

    "${PODS_ROOT}/Headers/Public/Facebook-iOS-SDK\"
    "${PODS_ROOT}/Headers/Public/Facebook-iOS-SDK/FacebookSDK\"
    "${PODS_ROOT}/Headers/Public/FBSDKCoreKit\"
    "${PODS_ROOT}/Headers/Public/FBSDKCoreKit/FBSDKCoreKit\"
    

그런 다음 다른 파일에 여전히 오류가 있습니다. XCode는 사전 빌드 프레임 워크를 사용하기 때문입니다.

FBSDKCoreKit / FBSDKCopying.h를 찾을 수 없습니다.

  1. Clean Build-> ⇧⌘K (Shift + Command + K)-빌드 된 프레임 워크를 정리합니다.
  2. 빌드 폴더 정리-> ⌥⇧⌘K (Option + Shift + Command + K)
  3. Xcode 닫기 // 중요! -그렇지 않으면 현재 열려있는 프로젝트에 대한 DerivedData가 자동으로 다시 생성됩니다.
  4. 터미널에서이 명령 실행

    rm -rf ~/Library/Developer/Xcode/DerivedData
    
  5. XCode를 열고 성공적으로 빌드


2
이것은 실제로 작동했습니다. 감사! 왜 그런지 자세히 설명해 주시겠습니까?
0x6A75616E

이것에 나를 구했다. 무리 감사!
jdpipkin

이것이 해결책입니다!
Wilson

훌륭하게 작동하며 헤더 검색 경로에서 아무것도 변경하지 않았습니다.
templeman15

3
1,2,3,4,5를 건너 뛰고 대신 밖에 나가서 점심을 먹었습니다. 그리고 작동했습니다! 감사!!
Jeff

33

프레임 워크를 삭제하고 프로젝트-> 파일 추가 ...를 마우스 오른쪽 버튼으로 클릭하여 다시 추가하여이 문제를 해결 한 다음 프레임 워크를 선택하고 필요한 경우 파일 복사 옵션을 선택합니다. 나는 그것이 페이스 북이 권장하는 것이 아니라는 것을 알고 있지만 그렇게하도록 할 수는 없었지만,이 방식으로 작동했습니다! 저는 FBSDK v4.6과 Xcode 7 베타 6을 사용하고 있습니다. 여러분과 같은 문제에 직면 한 모든 사람들에게 도움이되기를 바랍니다. :)


그러나 이것은 분명히 잘못된 경로 참조를위한 것입니다. / User / mike / Documents / FacebookSDK에 FacebookSDK1.1.x와 같은 버전이 아닌 다운로드 폴더에 있는지 확인하십시오. 작동을 보장합니다.
Code Tree

16

이것은 또한 나에게 고통의 시간이 걸렸다! 마침내 나는 근본적인 문제를 발견했습니다.

페이스 북 SDK의 MUST 는 ~ / Documents / FacebookSDK에 합니다.

이는 RCTFBSDK 프로젝트에서이 경로가 하드 코딩되기 때문입니다. 그러나 RCTFBSDK 프로젝트 의 프레임 워크 검색 경로에 추가하여 사용자 지정 위치를 추가 할 수 있습니다 (오류 콘솔에 표시됨)!


1
이유가 뭐든 내가 사용했다 System Framework Search Paths대신Framework Search Paths
tybro0103

7

FB 개발자 는 파일 복사를 선택하지 않는다고 말합니다 . 문제가 발생합니다. 그러나 나는 반대로했다 .

  1. 필요한 경우 복사 항목을 선택했습니다. 내 프로젝트에서 프레임 워크를 복사했습니다. 또한 Search Path에 의해 자동 으로 추가되었습니다 xcode 7.2.

  2. 또한 필드 Framework Search Paths아래 Search Paths에 아무것도 없는지 다시 확인한 Build Settings다음 / Users / user / Documents / .... PROJECT..DIR ...과 동일한 $ (PROJECT_DIR)을 추가하십시오.

2 개의 프로젝트에서 성공적으로 컴파일되었습니다.


6

프레임 워크 검색 경로에서 FacebookSDK 경로를 $ (PROJECT_DIR) 이상으로 이동해야했습니다.

$(SRCROOT)/../../../Documents/FacebookSDK
$(inherited)
$(PROJECT_DIR)

3

위의 답변 중 하나라도 작동하지 않으면 다음을 시도하십시오.

~/Documents/FacebookSDK폴더를 엽니 다 . 파일 이름 오른쪽에이 구름 아이콘이 있는지 확인합니다.

screenshot.png

그렇다면 macOS는 컴퓨터에서 파일을 제거하고 iCloud에 업로드했습니다! (애플 감사합니다)

다음을 수행 할 수 있습니다.

  1. 모든 클라우드 아이콘을 클릭하면 파일이 다시 다운로드됩니다.
  2. 다시 발생하지 않도록 Mac에서 저장소 최적화를 비활성화하십시오.

3

React Native 개발자의 경우 :

수행 할 권장 단계 :

1. Facebook SDK 프레임 워크가 설치되어 있는지 확인하십시오. ~ / Documents / FacebookSDK에 .

2) FBSDK [Core, Login, Share] Kit.framework 가 빌드 타겟 빌드 단계의 Link Binary with Libraries 섹션에 표시 되는지 확인합니다 .

3) 빌드 대상 빌드 설정의 프레임 워크 검색 경로

$(HOME)/Documents/FacebookSDK

대신에

~/Documents/FacebookSDK 

그래도 작동하지 않는 경우 :

1)sudo chmod -R 755 ~/Documents/FacebookSDK

2) RCTFBSDK.xcodeproj 의 프레임 워크 검색 경로 경로를 다음과 같이 설정 합니다.

  $(HOME)/Documents/FacebookSDK 

(프로젝트 폴더의 라이브러리 아래) RCTFBSDK 프레임 워크 검색 경로를 여기와 같이 설정하십시오.

프로젝트를 정리 (command + shift + k)하고 빌드하십시오.


3

FacebookSDK가 다음과 다른 경우 문제 해결

~ / 문서 / FacebookSDK

iCloud Drive가 FacebookSDK로로드되는 것을 원하지 않기 때문입니다. 추가 된 "프레임 워크 검색 경로"를 변경해야합니다.

반응 네이티브 fbsdk

이것은 Libraires 내부의 RCTFBSDK.xcodeproj에 있기 때문입니다. 경로가 하드 코딩되었습니다. 하지만 RCTFBSDK 프로젝트의 프레임 워크 검색 경로에 추가하여 사용자 지정 위치를 추가 할 수 있습니다.

  1. 프로젝트 선택
  2. 도서관
  3. "RCTFBSDK.xcodeproj"를 선택하십시오.
  4. 빌드 설정
  5. "프레임 워크 검색 경로"에 사용자 지정 경로를 추가합니다. 예 : / Users / rajanmaharjan / FacebookSDK
  6. Clean Build-> ⇧⌘K (Shift + Command + K)-빌드 프레임 워크를 정리합니다.
  7. 프로젝트를 빌드하십시오. 성공적으로 빌드되어야합니다.

2

나는 같은 문제가 있었다. 내 프레임 워크 검색 경로 값, 즉 "/ Users / ....."주위에 따옴표를 사용하여 수정했습니다. 분명히 내 파일 경로에 공백이 있습니다.


2

같은 문제가 있는데 Facebook SDK 버전 4.10.0을 사용합니다.
내 솔루션이 좋지 않다는 것을 알았지 만 나를 위해 일했습니다. Facebook 소스 코드를 변경했습니다. 가져 오기 파일 경로를에서 #import <FBSDKCoreKit/FBSDKCoreKit+Internal.h>로 변경 했습니다.#import <FBSDKCoreKit/Internal/FBSDKCoreKit+Internal.h>


2

Xcode 11 + CocoaPods 솔루션

프로젝트의 루트에서, 즉 MyApp.xcworkspace가 Terminal과 init pod를 연 경로와 동일한 경로에 pod init필요한 FBSDK pod를 추가합니다. Podfile다음과 같은 모습이어야합니다.

# Uncomment the next line to define a global platform for your project
# platform :ios, '9.0'
target 'MyApp' do
  # Comment the next line if you don't want to use dynamic frameworks
  use_frameworks!

  # Pods for MyApp
  pod 'FBSDKCoreKit'
  pod 'FBSDKLoginKit'
  pod 'FBSDKShareKit'   
end

이제 터미널 pod install오픈 MyApp.xcworkspace (입니다 하지 MyApp.xcodeproj ). MyApp-> Build Phases->로 이동하면 Link Binary with Libraries프레임 워크 목록 하단에 표시 Pods_MyApp.framework됩니다. +아래 Pods_MyApp.framework를 클릭 하면 FBSDK와 관련된 모든 Workspace목록 이 있어야하는 새 창 아래 에 Pods있어야합니다.

참고 : 두 번째 버전이 오래 되었으므로 Facebook SDK가 아닌 FBSDK를 설치해야합니다 .


1

CocoaPods를 사용 했을 때 저에게 효과가 있었던 것은 다음과 같습니다.

  1. 업데이트 헤더 검색 경로 ( NOT 프레임 워크 검색 경로 에서) 빌드 설정 엑스 코드에서 :

    - "\"${PODS_ROOT}/Headers/Public/Facebook-iOS-SDK\"",

    - "\"${PODS_ROOT}/Headers/Public/Facebook-iOS-SDK/FacebookSDK\"",

    + "\"${PODS_ROOT}/Headers/Public/FBSDKCoreKit\"",

    + "\"${PODS_ROOT}/Headers/Public/FBSDKCoreKit/FBSDKCoreKit\"",

  2. 누락 된 헤더 추가 :

    cd Pods/Headers/Public/FBSDKCoreKit/FBSDKCoreKit/ && ln -s ../../../../FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKCoreKit+Internal.h FBSDKCoreKit+Internal.h

편집 : 포인트 2는 다음에 대한 각 호출 후에 분명히 반복되어야합니다 pod install.


1

위해 엑스 코드 7.3 , 아래는 나를 위해 일했다. FB 가이드에 언급 된 단계를 따르고 추가로 다음을 수행합니다.

1 단계. Document / FacebookSDK 폴더로 이동합니다.

2 단계. FBSDKCoreKit.framework를 클릭합니다.

3 단계.이 폴더에서 모듈 폴더를 제거한 다음 Xcode 프로젝트에 끌어다 놓습니다.

참조 : https://stackoverflow.com/a/29532202

감사


1

이동하는 사람들 CarthageCocoapods위해 빌드 단계 옵션 Carthage에서 FBSDKCoreKit 의 참조 를 제거하십시오 Link Binary With Libraries.

여기에 이미지 설명 입력


0

비슷한 문제가 있었지만 어쨌든 컴파일러 오류를 해결할 수 없었습니다.

내 프로젝트 폴더에 FBSDKCoreKit.framework 의 복사본이 있음을 알 때까지 정확한 통합 단계를 몇 번 수행하고 수행했습니다 (실수로 인해 발생했을 수 있음) . 또한 프레임 워크 검색 경로 에는 이미 $ (PROJECT_DIR) 이 포함되어 있습니다. / Users / {username} / Documents / FacebookSDK 외에 .

그래서 프로젝트의 디렉토리에서 FBSDKCoreKit.framework 의 사본을 제거 했고 이제 모든 것이 잘 작동합니다.


0

어제 밤에이 문제가 발생하여 다른 사람이 같은 문제를 겪을 경우를 대비하여 솔루션을 게시하고 싶었습니다. 내 문제는 내 앱이 시뮬레이션과 내 장치에서 잘 빌드되고 실행되고 있었지만 단위 테스트를 실행하려고 할 때마다 FBSDKCoreKit 때문에 빌드가 실패했습니다. 문제를 찾는 데 약 30 분이 걸렸고, 그렇게했을 때 나는 더미처럼 느껴졌습니다.

FBSDKCoreKit 번들이 일반 애플리케이션 빌드뿐만 아니라 테스트 대상인지 확인하십시오.


0

Xcode 8로 업그레이드 할 때이 문제가 있었고 변경하여 해결할 수있었습니다.

#import <FBSDKCoreKit / FBSDKCoreKit.h>

...에

#import <FBSDKCoreKit/FBSDKCoreKit.h>


0

빌드 설정-> "프레임 워크 검색 경로"에 디렉토리를 추가 할 때 디버그 및 릴리스 모두에 추가해야합니다.

어리석은 오류이지만 xcode에서 iOS dev를 처음 사용하는 경우 이것을 놓칠 수 있습니다.


0

개인적으로 앱 이름을 포함하여 다양한 경로의 공백이 문제였습니다. 공백을 제거 (또는 보안 경로에 ""를 추가)하면 문제가 해결되었습니다.


0

비슷한 문제가있었습니다. XCode 프레임 워크에 다른 프레임 워크를 수동으로 추가 할 때 "필요한 경우 파일 복사"를 선택할 때 수정이 구성되었습니다.


0

프레임 워크를 xcode 내의 Framework 폴더로 드래그하고 필요한 경우 파일을 복사하도록 선택했으며 다른 구성 변경없이 모두 정상적으로 작동했습니다.


0

react-native-fbsdk 및 react-native-link react-native-fbsdk를 사용하여 링크를 설치했습니다.

다음 링크의 지시를 따르십시오

https://developers.facebook.com/docs/react-native/configure-ios

이것은 ios_setup.js를 사용하여 반응 네이티브 라이브러리를 연결하도록 제공합니다. 내가 따라온 다음 단계가 있습니다.

  1. 페이스 북 개발자 계정 에 설정합니다 .

  2. 프로젝트 루트 폴더의 명령 프롬프트에서 다음 명령을 실행하여 ios_setup.js 파일을 설치합니다.

curl -O https://raw.githubusercontent.com/facebook/react-native-fbsdk/master/bin/ios_setup.js

  1. 다음 명령을 실행하여 plist 패키지, xcode 패키지 및 adm-zip 패키지를 설치합니다. npm install plist xcode adm-zip
  2. 다음 명령을 실행하여 ios_setup.js 스크립트를 실행하고 앱의 앱 ID와 앱 이름을 삽입합니다. 앱 이름이 두 단어 이상인 경우 따옴표로 묶습니다.

node ios_setup.js [App ID] [App Name]

노드 ios_setup.js를 실행하면 ios의 모든 파일이 자동으로 링크됩니다.


0

여기에서 몇 가지 답변을 사용하여 문제를 해결 한 후. 이것이 내가 한 일입니다.

  1. 나는 참고로 변경 ~/Documents/FacebookSDK했다 : 나는 따옴표를 사용했다"$(HOME)/Documents/FacebookSDK" "
  2. "$(HOME)/Documents/FacebookSDK"헤더 검색 경로의 목록 맨 위로 이동 했습니다.

0

동일한 오류가 발생했습니다. FBSDKLoginKit

여러 포드 프로젝트를 사용하는 경우

install! 'cocoapods',
  :generate_multiple_pod_projects => true

그런 다음 cocoapod가 모든 FBSDK 포드를 동일한 프로젝트에 넣어 비공개 헤더를 표시하도록해야합니다.

pod 'FBSDKCoreKit', '5.11.0', :project_name => 'FBSDK'
pod 'Bolts', '1.9.0', :project_name => 'FBSDK'
pod 'FBSDKShareKit', '5.11.0', :project_name => 'FBSDK'
pod 'FBSDKLoginKit', '5.11.0', :project_name => 'FBSDK'

-1

-> 빌드 구성.

     -> Framework Search paths.

내 경우 ~ / Documents / FacebookSDK에 FacebookSDK 디렉토리를 넣으십시오.

디버깅 ,

모든 아키텍처 I Any Sdk ,

릴리스 .

특히이 오류는 모든 아키텍처에 경로가 없기 때문에 내 경우에는 모든 Sdk

~ / Documents / FacebookSDK 및 FacebookSDK 폴더는 Domuments에 있어야합니다.

https://photos.app.goo.gl/5bD4d39a11AalYsx1


여기서 무엇을 전달하려고하는지 전혀 모릅니다. 이것이 답을 의미하는 경우 개선을 고려하십시오 !
GhostCat

-2

다음 과 같이 /Users/[username]/Documents/FacebookSDK/디렉토리를 변경하십시오 Documents/FacebookSDK.

xcode

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