Я использую API flickr для авторизации приложения iPhone, следуя потоку аутентификации их веб-приложений. Если пользователь авторизует приложение, вызывается URL-адрес обратного вызова, и все работает гладко. Однако, если пользователь отклоняет приложение, браузер перенаправляется на другую часть сайта flickr, и, поскольку мы используем браузер для аутентификации в iPhone, пользователь остается в Safari. Есть ли способ для моего приложения узнать, что оно было отклонено пользователем, вернуться в мое приложение, чтобы я мог изящно обработать отказ и/или ошибку?
URL-адрес обратного вызова iPhone Flickr API, когда пользователь не может авторизоваться
Ответы (1)
Я вообще не знаком с API Flickr и никогда не работал с ним, но одна идея, которая пришла мне в голову, заключается в следующем: использовать встроенный UIWebView вместо Safari и установить свойство делегата (протокол UIWebViewDelegate). Затем ваш делегат должен реализовать следующий метод:
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
Через объект запроса вы можете получить вызываемый URL-адрес и проверить, соответствует ли он схеме неудачного URL-адреса авторизации. Может быть более элегантный способ проверить наличие ошибки аутентификации (на самом деле я почти уверен, что есть), но это должно работать.
person
Robin
schedule
27.04.2011