Nice programing

Facebook SDK : URL 체계로 등록되지 않은 앱

nicepro 2020. 10. 22. 22:45
반응형

Facebook SDK : URL 체계로 등록되지 않은 앱


여기 에서 Facebook SDK찾은 것을 사용하고 있으며 제공된 샘플을 시도하고 있습니다 (폴더에 있음 ).FacebookiOSSample

나는 단순히 교체하는 경우 AppId내 특정 여기 AppId, 나는 더 이상 공유 할 수 있습니다. ( AppDelegate파일과 파일 모두에서 교체했습니다 info.plist). 이제 다음과 같은 오류가 발생합니다.

FBSDKLog : FBAppCall의 유효하지 않은 사용, fb ****는 URL Scheme으로 등록되지 않았습니다. plist에 'FacebookUrlSchemeSuffix'를 설정 했습니까?

그렇지 않으면 이것은 AppId라는 이름을 가리키는 샘플의 원본에서 잘 작동합니다 IFaceTouch.

앱 설정에 문제가있을 수 있습니다. 어떻게 등록 AppId합니까?


다음 세 단계를 따르십시오.

  1. 문자열 값을 사용하여 FacebookAppID 라는 키를 만들고 여기에 앱 ID를 추가합니다.
  2. 문자열 값으로 FacebookDisplayName 이라는 키 를 만들고 앱 대시 보드에서 구성한 표시 이름을 추가합니다.
  3. URL Schemes 라는 단일 배열 하위 항목을 사용하여 URL 유형이라는 배열 키를 만듭니다 . 앱 ID가 fb로 시작되는 단일 항목을 제공하십시오. 이는 애플리케이션이 웹 기반 OAuth 흐름 의 콜백 URL수신하도록하는 데 사용됩니다 .

완성 된 .plist는 다음과 같아야합니다.

여기에 이미지 설명 입력

소스 링크 :


원시 키 및 값 측면에서 CFBundleURLTypes 및 CFBundleURLSchemes가 있어야합니다.

원시 키 및 값 측면에서 CFBundleURLTypes 및 CFBundleURLSchemes가 있어야합니다. 도움이 되었기를 바랍니다.


정보 아래에 또 다른 섹션이 있습니다 -URL 유형

URL Schemes 필드 아래의 값이 위 속성 목록 URL 유형-> URL Schemes 의 값과 일치 하는지 확인합니다 . (또한 FacebookAppID와 일치)

URL 유형


iOS 9의 경우

오류가있는 경우 : 'LSApplicationQueriesSchemes'

를 기반으로 내 대답과 함께 곰 , 당신은 또한 그 라인을 추가해야합니다 :

<key>LSApplicationQueriesSchemes</key>
<array>
   <string>fbauth2</string>
</array>

참조 .

.plist 파일 끝에 다음 줄 이 표시 되어야 합니다.

<key>CFBundleURLTypes</key>
    <array>
        <dict>
            <key>CFBundleURLSchemes</key>
            <array>
                <string>fb2R3234544534554</string>
            </array>
        </dict>
    </array>
    <key>FacebookAppID</key>
    <string>2R3234544534554</string>
    <key>FacebookDisplayName</key>
    <string>stevejeff</string>
    <key>NSAppTransportSecurity</key>
    <dict>
        <key>NSExceptionDomains</key>
        <dict>
            <key>facebook.com</key>
            <dict>
                <key>NSIncludesSubdomains</key>
                <true/>
                <key>NSThirdPartyExceptionRequiresForwardSecrecy</key>
                <false/>
            </dict>
            <key>fbcdn.net</key>
            <dict>
                <key>NSIncludesSubdomains</key>
                <true/>
                <key>NSThirdPartyExceptionRequiresForwardSecrecy</key>
                <false/>
            </dict>
            <key>akamaihd.net</key>
            <dict>
                <key>NSIncludesSubdomains</key>
                <true/>
                <key>NSThirdPartyExceptionRequiresForwardSecrecy</key>
                <false/>
            </dict>
        </dict>
    </dict>
    <key>LSApplicationQueriesSchemes</key>
    <array>
        <string>fbauth2</string>
    </array>
    </dict>
    </plist>

* SDK v4.6.0 이상을 사용하는 경우 다음 사항 만 추가하면됩니다. * (감사합니다 mohsinj )

   <key>LSApplicationQueriesSchemes</key>
      <array>
        <string>fbapi</string>
        <string>fb-messenger-api</string>
        <string>fbauth2</string>
        <string>fbshareextension</string>
   </array>

링크로 이동하여 앱을 선택하고info.plist


1- Xcode에서 프로젝트의 Info.plist 파일을 마우스 오른쪽 버튼으로 클릭하고 다른 이름으로 열기-> 소스 코드를 선택합니다.

2- Insert the following XML snippet into the body of your file just before the final </dict> element.

  <key>CFBundleURLTypes</key>
<array>
  <dict>
    <key>CFBundleURLSchemes</key>
    <array>
      <string>fb{your-app-id}</string>
    </array>
  </dict>
</array>
<key>FacebookAppID</key>
<string>{your-app-id}</string>
<key>FacebookDisplayName</key>
<string>{your-app-name}</string>
<key>LSApplicationQueriesSchemes</key>
<array>
  <string>fbapi</string>
  <string>fb-messenger-share-api</string>
  <string>fbauth2</string>
  <string>fbshareextension</string>
</array>

3- Replace {your-app-id}, and {your-app-name} with your app's App's ID and name found on the Facebook App Dashboard.


Today i solved this bug by just removing space from FacebookDisplayName.

make sure you don't have any space in FacebookDisplayName


I don't know if your problem is the same as mine. But it took me some time to find it and i will put it here so that it can help anyone.. The problem was that google sign in used the same info.plist attribute name and it was overriding the ones of facebook.. So i could see this in X-Code and put them together, now everything works fine! (URL Types attribute).


I was also facing same issue. Then did this:

<dict> <key>CFBundleURLSchemes</key> <array> <string>fb154510174913175</string> <string>fbauth2</string> // add this line to remove the error </array> </dict>

and issue is fixed now.

참고 URL : https://stackoverflow.com/questions/21893447/facebook-sdk-app-not-registered-as-a-url-scheme

반응형