Facebook iOS Safari "Impossible d'ouvrir l'erreur de page" lors de l'authentification de l'user avec Single-Sign-On

Je tourne dans les cercles avec ce problème – et il semble que Facebook a des billets ouverts à ce sujet, mais je voulais voir si quelqu'un avait le même problème que moi et trouvé une solution temporaire ou meilleure.

J'ai téléchargé "DemoApp" de Facebook, et peut mettre dans mon appId dans son info.plist comme fb1234567890 : fb1234567890 (où 1234567890 est mon appId). Il peut authentifier l'user par le multitâche à Safari, en entrant mes informations d'identification, en permettant l'access à mon application, puis en redirigeant vers DemoApp avec moi connecté (et je peux requestr mes informations correctement).

MAINTENANT, j'essaye d'intégrer la fonctionnalité de DemoApp dans mon application existante.

Je suis en mesure d'accéder à l'écran de connection, et entrez mes informations d'identification. Il me permet de donner à ma request l'access à mes informations personnelles – Je clique sur allow et Safari traite une nouvelle request, puis renvoie le message d'erreur : Safari cannot open the request because the address is invalid : http://www.facebook.com/connect/uiserver.php

TOUTEFOIS, si DemoApp installé sur mon simulateur et ma propre application, il returnnera à DemoApp avec ma connection réussie. Si je désinstalle DemoApp et réessaye avec mon application, j'obtiens l'erreur Safari.

QUE PUIS-JE FAIRE POUR RÉSOUDRE CE? Toute aide est la bienvenue; Je me tape la tête ici 🙁

Mon info.plist :

 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>CFBundleURLTypes</key> <array> <dict> <key>CFBundleURLName</key> <ssortingng></ssortingng> <key>CFBundleURLSchemes</key> <array> <ssortingng>fb1234567890</ssortingng> </array> </dict> </array> <key>CFBundleDevelopmentRegion</key> <ssortingng>English</ssortingng> <key>CFBundleDisplayName</key> <ssortingng>${PRODUCT_NAME}</ssortingng> <key>CFBundleExecutable</key> <ssortingng>${EXECUTABLE_NAME}</ssortingng> <key>CFBundleIconFile</key> <ssortingng></ssortingng> <key>CFBundleIdentifier</key> <ssortingng>com.yourcompany.${PRODUCT_NAME:rfc1034identifier}</ssortingng> <key>CFBundleInfoDictionaryVersion</key> <ssortingng>6.0</ssortingng> <key>CFBundleName</key> <ssortingng>${PRODUCT_NAME}</ssortingng> <key>CFBundlePackageType</key> <ssortingng>APPL</ssortingng> <key>CFBundleSignature</key> <ssortingng>????</ssortingng> <key>CFBundleVersion</key> <ssortingng>1.0</ssortingng> <key>LSRequiresIPhoneOS</key> <true/> <key>NSMainNibFile</key> <ssortingng>MainWindow</ssortingng> </dict> </plist> 

L'input CFBundleURLTypes est incorrecte. Ça devrait ressembler à ça:

 <key>CFBundleURLTypes</key> <array> <dict> <key>CFBundleURLSchemes</key> <array> <ssortingng>fb1234567890</ssortingng> </array> </dict> </array> 

J'ai eu une expérience très similaire. J'ai constaté que les changements de plis que je faisais n'étaient simplement pas absorbés dans le simulateur, même après une construction propre. J'ai été en mesure de les faire prendre en changeant le paramètre Hardware-> Device à quelque chose de différent, puis de nouveau à nouveau. D'une certaine manière, cela semble avoir causé les changements de plist à save avec l'OS sur le simulateur, tandis que rien d'autre que j'ai fait a eu cet effet. Je ne suis pas sûr que ce soit la "bonne" façon de le faire, ou si quelque chose dans les parameters de construction est foiré, mais cela, pour moi, a travaillé sur le problème exact que vous décrivez.

Les réponses m'ont orienté dans la bonne direction mais mon problème était un peu différent. Pour une raison quelconque, le plist ressemblait à ceci:

 <key>CFBundleURLTypes</key> <array> <dict> <key>CFBundleURLSchemes</key> <array> <ssortingng>fb1234567890 [defaults setObject:[facebook expirationDate] forKey:@&quot;FBExpirationDat</ssortingng> </array> </dict> </array> 

Je viens de supprimer datatables après l'ID et il a été corrigé:

 <key>CFBundleURLTypes</key> <array> <dict> <key>CFBundleURLSchemes</key> <array> <ssortingng>fb1234567890</ssortingng> </array> </dict> </array>