2011-04-27 62 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的方案。可能有一个更优雅的方式来检查身份验证失败(实际上我很确定有),但这应该起作用。