[ios] FBSDKCoreKit / FBSDKCoreKit.h 찾을 수 없음 오류

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

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

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



답변

다음 단계를 따르십시오.

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

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

/Users/[username]/Documents/FacebookSDK

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

~/Documents/FacebookSDK

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


답변

업데이트 후 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를 열고 성공적으로 빌드


답변

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


답변

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

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

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


답변

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

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

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

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


답변

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

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


답변

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

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

screenshot.png

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

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

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