Mamy:
(1) Facebook API oparte aplikacji internetowych z funkcjonalnością Facebook OAuth („aplikacji internetowej FB”)
(2) UIWebView
-na przeglądarki na iPada („przeglądarka”)Jak mogę uzyskać UIWebView, aby otworzyć stronę logowania do Facebooka w odpowiedzi na żądanie OAuth na iOS 5 i iOS 6?
Nasz celem jest otwarcie strony logowania na Facebooku, aby zalogować się do aplikacji internetowej FB (1) w przeglądarce opartej na UIWebView (2) na iPadzie.
Jest nieco podobny problem tutaj:
http://facebook.stackoverflow.com/questions/11337285/no-longer-able-to-login-to-ios-app-via-oauth-the-page-requested-was-not-found
Jednak kwestia tego pytania dzieje się po wprowadzeniu przez użytkownika loginu i hasła w postaci Facebooku. Naszym problemem jest to, że nie możemy w pierwszej kolejności wyświetlić formularza logowania na Facebooku. Zmiana typu aplikacji na "Sieć" na "Natywny/komputer", jak sugerowano w tym pytaniu, nie pomogła.
Kroki: 1. Otwórz
nasza strona internetowa (prosta strona HTML) z tym UIWebView
Browser
2. Kliknij na „FB” przycisk web app uruchomić na tej stronie
3. OnClick JavaScript próbuje zainicjować OAuth, które powinny otworzyć ekran logowania Facebook, aby zalogować się do aplikacji internetowej FB
Aktualny wyników (wydania)
iOS 5. + i iOS 6. + urządzenia
- Nasza strona internetowa pozostaje niezmieniona
- Strona logowania na Facebooku to N OT pokazane (nasza strona internetowa jest nadal wyświetlany)
iOS 4.3 (działa zgodnie z oczekiwaniami):
- strona logowania Facebook otwiera się w tym samym UIWebView
przedmiotu Browser (zastępuje naszą stronę internetową)
Oczekiwany wynik :
- Wyświetlana jest strona logowania do Facebooka, a użytkownik może wprowadzić hasło do Facebooka & hasło - Działa na iOS 5. + i iOS 6. +, jeśli uruchomiono go w przeglądarce Safari na iPadzie. Facebook strona logowania jest otwarty na osobnej karcie (w przeciwieństwie do tego, nie ma oddzielnych kart w UIWebView
)
Pytanie: Jak mogę uzyskać Facebook UIWebView
otworzyć stronę logowania w odpowiedzi na żądanie OAuth na iOS 5+ i iOS 6 +?
Więcej szczegółów technicznych:
Logujemy różne NSURLRequest
pola od wewnątrz
-(BOOL)webView(UIWebView*)webView shouldStartLoadWithRequest(NSURLREquest*)request navigationType:…
I zauważyć pewne różnice w dziennikach dla „poprawnych” i „niewłaściwych” zachowań. Oto jak wyglądają przepływy wykonanie dla mnie:
Po pierwsze, naciśnij „FB Web App” przycisk uruchamiania, aby zainicjować OAuth, a następnie niektóre przypadki przejść
iOS 4.3, „poprawne”
żądanie www.facebook.com/dialog/oauth? ...
wniosek do fbwebapp.com
wniosek do m.facebook.com/login.php? ....
--here facebook logowanie pojawia
iOS 5.0 „incorrect1”
żądanie www.facebook.com/dialog/oauth? ...
żądanie fbwebapp.com
żądanie m.facebook. com/login.php? ...
to może być
-A dużo m.facebook.com/login.php?...with następnego ... w parametrach
następnie błędu sqlite
- Teraz widzę "Przepraszam, coś poszło nie tak" pa ge z Facebook (jest to pierwszy raz w ogóle spotykam go)
iOS 6.0 „incorrect2”
żądanie www.facebook.com/dialog/oauth? ...
żądanie fbwebapp.com
-(void)webView:(UIWebView*)webView didFailLoadWithError:(NSError*)error is invoked with error code -999
Możesz zobaczyć, że to zachowanie zdecydowanie zależy od wersji iOS. Ale często zdarza się, że błąd występuje na etapie uzyskiwania adresu URL m.facebook.com/login.php .. Ale to wszystko, co możemy wykryć.
Pociskamy głową o ścianę przez cały dzień szukając rozwiązań. Beznadziejnie.
Czy możesz pomóc nam otworzyć stronę logowania na Facebooku w numerze UIWebView
w odpowiedzi na OAuth?
, można powiedzieć coś więcej o tym rozwiązaniu? Jestem początkującym użytkownikiem iOS, ale wypróbowałem już niektóre próbki SDK Facebooka. See you – owlmsj