2011-04-27 48 views
0

我正在使用flickr的API通過遵循其基於Web的應用程序身份驗證流程來授權iPhone應用程序。如果用戶授權應用程序,則會調用回調URL,並且所有內容都可以順利運行。但是,如果用戶拒絕應用程序,瀏覽器會轉發到flickr網站的另一部分,並且由於我們正在使用瀏覽器在iPhone中進行身份驗證,用戶仍將留在Safari中。有沒有辦法讓我的應用程序知道它被用戶拒絕,返回到我的應用程序,以便我可以優雅地處理拒絕和/或錯誤?用戶無法授權時iPhone Flickr API回調URL

回答

1

我根本不知道Flickr API,也從來沒有用過它,但我想到的一個想法如下:使用應用內UIWebView代替safari並設置委託屬性(UIWebViewDelegate protocol) 。然後,您的委託應該實現以下方法:

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

通過request對象,你可以檢索URL被調用,並檢查它是否符合一個失敗的授權URL的方案。可能有一個更優雅的方式來檢查身份驗證失敗(實際上我很確定有),但這應該起作用。