我正在使用以下块允许我的应用程序的用户使用Instagram授权:
func authorizeInstagram() {
let myWebView:UIWebView = UIWebView(frame: CGRectMake(0, 0, UIScreen.mainScreen().bounds.width, UIScreen.mainScreen().bounds.height))
myWebView.delegate = self
myWebView.loadRequest(NSURLRequest(URL: NSURL(string: "https://instagram.com/oauth/authorize/?client_id=xxxxxxxxxxxxxxxxxx&redirect_uri=xxxxxxxxxxx/&response_type=token")!))
self.view.addSubview(myWebView)
}
我的问题是,一旦用户完成AUTH?
在委托方法中,您可以获取请求并找到它是URL.absoluteString
,字符串中您想要的代码将是什么:
func webView(webView: UIWebView, shouldStartLoadWithRequest request: NSURLRequest, navigationType: UIWebViewNavigationType) -> Bool {
let str = request.URL?.absoluteString
print(str)
return true
}
希望它有帮助:D
在info.plist文件中您以URL类型注册该应用程序。将标识符作为您的捆绑ID,URL方案作为重定向,而编辑器为角色。
用户完成后,在应用程序委托中完成AUTH时,将在方法中回电:
func application(application: UIApplication,
openURL url: NSURL,
sourceApplication: String?,
annotation: AnyObject?) -> Bool
您可以在其中解析响应。在这里,C#中的一个示例,不要在Swift中使用它,但不应该很难翻译。希望有帮助!
if (url.Scheme == "youappscheme")
{
var queryParams = url.Query.Split('&');
// grab the one you want
return true;
}