URL-адрес обратного вызова iPhone Flickr API, когда пользователь не может авторизоваться

Я использую API flickr для авторизации приложения iPhone, следуя потоку аутентификации их веб-приложений. Если пользователь авторизует приложение, вызывается URL-адрес обратного вызова, и все работает гладко. Однако, если пользователь отклоняет приложение, браузер перенаправляется на другую часть сайта flickr, и, поскольку мы используем браузер для аутентификации в iPhone, пользователь остается в Safari. Есть ли способ для моего приложения узнать, что оно было отклонено пользователем, вернуться в мое приложение, чтобы я мог изящно обработать отказ и/или ошибку?


person john    schedule 27.04.2011    source источник


Ответы (1)


Я вообще не знаком с API Flickr и никогда не работал с ним, но одна идея, которая пришла мне в голову, заключается в следующем: использовать встроенный UIWebView вместо Safari и установить свойство делегата (протокол UIWebViewDelegate). Затем ваш делегат должен реализовать следующий метод:

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType

Через объект запроса вы можете получить вызываемый URL-адрес и проверить, соответствует ли он схеме неудачного URL-адреса авторизации. Может быть более элегантный способ проверить наличие ошибки аутентификации (на самом деле я почти уверен, что есть), но это должно работать.

person Robin    schedule 27.04.2011