Używam Facebook SDK
znalezionego tutaj i próbuję dostarczonego przykładu (w folderze FacebookiOSSample
).
Jeśli po prostu zastąpię AppId
tutaj moje konkretne AppId
, nie mogę już udostępniać. (Zastąpiłem go zarówno w AppDelegate
pliku, jak iw info.plist
pliku). Teraz otrzymuję następujący błąd:
FBSDKLog: Nieprawidłowe użycie FBAppCall, fb **** nie jest zarejestrowany jako schemat adresu URL. Czy ustawiłeś „FacebookUrlSchemeSuffix” w swoim plistie?
W przeciwnym razie działa to dobrze z oryginałem próbki, AppId
który wskazuje na coś nazwanego IFaceTouch
.
Co może być nie tak z konfiguracją mojej aplikacji, jak mogę się zarejestrować AppId
?
ios
facebook
xamarin
url-scheme
L. Desjardins
źródło
źródło
Odpowiedzi:
Wykonaj te trzy kroki:
Gotowa lista .pl powinna wyglądać mniej więcej tak:
Link do źródła:
źródło
Jeśli chodzi o surowe klucze i wartości, powinieneś mieć CFBundleURLTypes i CFBundleURLSchemes. Mam nadzieję, że to pomoże!
źródło
pod informacją znajduje się kolejna sekcja - Typy adresów URL
sprawdź, czy wartości w polu Schematy adresów URL odpowiadają wartości w typach adresów URL -> Schematy adresów URL na liście właściwości powyżej. (a także dopasuj FacebookAppID)
źródło
W przypadku iOS 9
Jeśli masz błąd: „LSApplicationQueriesSchemes”
W oparciu o odpowiedź Bear with me będziesz musiał również dodać te wiersze:
<key>LSApplicationQueriesSchemes</key> <array> <string>fbauth2</string> </array>
Zobacz to .
Państwo powinno skończyć z tych linii na końcu swoich .plist plików:
<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>
* Jeśli używasz pakietu SDK w wersji 4.6.0 lub nowszej, wystarczy dodać: * (Dzięki mohsinj )
<key>LSApplicationQueriesSchemes</key> <array> <string>fbapi</string> <string>fb-messenger-api</string> <string>fbauth2</string> <string>fbshareextension</string> </array>
źródło
<key>LSApplicationQueriesSchemes</key> <array> <string>fbapi</string> <string>fb-messenger-api</string> <string>fbauth2</string> <string>fbshareextension</string> </array>
Przejdź do tego łącza Wybierz swoją aplikację i skonfiguruj
info.plist
źródło
1- W Xcode kliknij prawym przyciskiem myszy plik Info.plist swojego projektu i wybierz Otwórz jako -> Kod źródłowy.
2- Wstaw następujący fragment kodu XML do treści pliku tuż przed ostatnim
</dict>
elementem.<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- Zastąp {your-app-id} i {your-app-name} identyfikatorem i nazwą aplikacji, które można znaleźć w panelu aplikacji Facebook.
źródło
Dzisiaj rozwiązałem ten błąd, po prostu usuwając miejsce z FacebookDisplayName .
upewnij się, że nie masz wolnego miejsca w FacebookDisplayName
źródło
Nie wiem, czy twój problem jest taki sam jak mój. Ale znalezienie go zajęło mi trochę czasu i umieszczę go tutaj, aby mógł pomóc każdemu .. Problem polegał na tym, że logowanie Google korzystało z tej samej nazwy atrybutu info.plist i zastępowało te z Facebooka. Więc ja mógł zobaczyć to w X-Code i złożyć je razem, teraz wszystko działa dobrze! (Atrybut Typy adresów URL).
źródło
W moim przypadku miałem już klucze LSApplicationQueriesSchemes i CFBundleURLTypes w moim info.plist, kiedy ponownie dodałem je oddzielnie w info.plist. nie przeczytał drugiego i nie rozpoznaje. Więc dodanie wartości do poprzednich kluczy LSApplicationQueriesSchemes i CFBundleURLTypes rozwiązało mój problem.
źródło
Miałem też ten sam problem. Następnie zrobił to:
<dict> <key>CFBundleURLSchemes</key> <array> <string>fb154510174913175</string> <string>fbauth2</string> // add this line to remove the error </array> </dict>
i problem został już rozwiązany.
źródło