J'essaie d'utiliser Xcode 8 pour créer une application avec connexion Facebook en utilisant Swift 3. Lorsque je repasse iOS Simulator 9.3, cela fonctionne. Dans iOS 10, je reçois cette erreur:
""fbauth2:/" The operation couldn’t be completed. (OSStatus error -10814.)"
et
Optional(Error Domain=com.facebook.sdk.login Code=308 "(null)")
Quelqu'un a-t-il une solution pour cela?
Note 1 :
Après le débogage, ce problème est FBSDK ne peut pas être mis à jour expect_challange
. La fonction à l' SecItemUpdate
intérieur security.framework
ne fonctionne pas. C'est un problème d'IOS 10
ios
swift
facebook-ios-sdk
ios10
trquoccuong
la source
la source
Réponses:
L'erreur OSStatus -10814 se produit lorsque
canOpenURL:
vous ne trouvez aucune application pouvant ouvrir cette URL (en fait, Facebook essaie de trouver son application en appelantcanOpenURL:
avec l'argument "fbauth2: /"). L'impression se produit à l'intérieur de la fonction, vous ne pouvez donc rien faire avec cela. Mais si vous exécutez votre application sur un appareil avec l'application Facebook installée, vous ne verrez pas cette erreur.L'erreur 308 se produit en raison de la situation, lorsque la valeur, stockée dans le trousseau, n'est pas égale à la valeur, qui est stockée dans les paramètres d'achèvement de Facebook (pour plus d'informations, vous pouvez vérifier
-[FBSDKLoginManager completeAuthentication:expectChallenge:]
).Cela se produit parce qu'Apple a changé la façon de travailler avec le trousseau dans iOS 10. Pour résoudre ce problème, vous devez simplement aller dans Cibles-> Capacités et activer le partage du trousseau (cela permet d'accéder au trousseau pour votre application):
Si vous utilisez Xamarin (lisez ce lien pour plus d'informations, merci @dynamokaj):
la source
sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer
et essayé de reconstruire, vous rencontrez toujours le même problème. Je me rends compte maintenant que l'erreur que je vois est plus similaire à ce stackoverflow.com/questions/39091841/...Le même problème était dans mon application, j'ai vérifié de nombreuses solutions mais cela ne fonctionne pas pour moi. J'ai résolu ce problème en utilisant la méthode ci-dessous.
Accédez à ce lien Sélectionnez votre application et configurez votre
info.plist
import
et ajoutez ce code dans votreAppDelegate
la source
La principale raison pour laquelle vous obtenez l'erreur suivante,
est que l'application Facebook n'est pas installée sur votre simulateur iOS. Jusqu'à ce que vous installiez l'application sur votre simulateur iOS, vous continuerez à obtenir l'erreur. Essayez d'exécuter votre application iOS sur un appareil iOS provisionné avec Facebook installé et vous ne verrez plus le message d'erreur. J'espère que cela t'aides!
la source
Dans mon cas, le correctif était *:
* Comme recommandé par @MoridinBG sur la page Github de Facebook SDK
la source
Cette erreur peut également être provoquée si vous utilisez FBSDKCoreKit ou FBSDKLoginKit version 4.39.0. Il y avait un bogue dans cette version du SDK. Passez à la version 4.39.1 ou supérieure pour résoudre ce problème. Détails ici .
En remarque, d'autres utilisateurs ont mentionné que cette erreur se produit si Facebook n'est pas installé sur le simulateur. C'est vrai, mais le SDK est censé revenir automatiquement à la méthode de connexion Web lorsque l'application n'est pas installée. Si cela ne se produit pas, cela peut être dû à un autre problème tel que des valeurs manquantes / mal configurées dans votre Info.plist (vérifiez LSApplicationQueriesSchemes) ou des méthodes manquantes sur votre AppDelegate.
la source
Dans mon cas, le problème était Google Analytics. Par défaut, il semble qu'il ajoute son propre contrôleur de vue au-dessus du contrôleur de vue de l'application. La définition de "FirebaseAppDelegateProxyEnabled" sur "NO" dans {Votre application} -Info.plist a résolu le problème.
la source