여기 에서 Facebook SDK
찾은 것을 사용하고 있으며 제공된 샘플을 시도하고 있습니다 (폴더에 있음 ).FacebookiOSSample
나는 단순히 교체하는 경우 AppId
내 특정 여기 AppId
, 나는 더 이상 공유 할 수 있습니다. ( AppDelegate
파일과 파일 모두에서 교체했습니다 info.plist
). 이제 다음과 같은 오류가 발생합니다.
FBSDKLog : FBAppCall의 유효하지 않은 사용, fb ****는 URL Scheme으로 등록되지 않았습니다. plist에 ‘FacebookUrlSchemeSuffix’를 설정 했습니까?
그렇지 않으면 이것은 AppId
라는 이름을 가리키는 샘플의 원본에서 잘 작동합니다 IFaceTouch
.
앱 설정에 문제가있을 수 있습니다. 어떻게 등록 AppId
합니까?
답변
다음 세 단계를 따르십시오.
- 문자열 값을 사용하여 FacebookAppID 라는 키를 만들고 여기에 앱 ID를 추가합니다.
- 문자열 값이있는 FacebookDisplayName 이라는 키 를 만들고 앱 대시 보드에서 구성한 표시 이름을 추가합니다.
- URL Schemes 라는 단일 배열 하위 항목을 사용하여 URL 유형이라는 배열 키를 만듭니다 . 앱 ID가 fb로 시작되는 단일 항목을 제공하십시오. 애플리케이션이 콜백 URL을 수신하는지 확인하는 데 사용됩니다. 웹 기반 OAuth 흐름 을 .
완성 된 .plist는 다음과 같아야합니다.
답변
원시 키 및 값 측면에서 CFBundleURLTypes 및 CFBundleURLSchemes가 있어야합니다. 도움이 되었기를 바랍니다.
답변
정보 아래에 또 다른 섹션이 있습니다 -URL 유형
URL Schemes 필드의 값이 위의 속성 목록 에있는 URL 유형-> URL Schemes 의 값과 일치 하는지 확인합니다 . (또한 FacebookAppID와 일치)
답변
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>
답변
1- Xcode에서 프로젝트의 Info.plist 파일을 마우스 오른쪽 버튼으로 클릭하고 다른 이름으로 열기-> 소스 코드를 선택합니다.
2- 최종 </dict>
요소 바로 앞에 다음 XML 스 니펫을 파일 본문에 삽입합니다 .
<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- {your-app-id} 및 {your-app-name}을 Facebook 앱 대시 보드에있는 앱의 앱 ID 및 이름으로 바꿉니다.
답변
이 링크로 이동하여 앱을 선택하고info.plist
답변
오늘 저는 FacebookDisplayName 에서 공간을 제거하여이 버그를 해결했습니다 .
FacebookDisplayName에 공간이 없는지 확인하십시오.