如何在iOS Swift的UIWebView中启用Cookie
我有一个应用程序使用Instagram集成。该应用已经在应用商店中运行了几个月,多个版本都运行良好。突然,我提交给苹果的最新版本被拒绝了,因为苹果不喜欢Safari是为用户登录Instagram而发布的。正如他们所说,他们关心用户体验 问题是我需要请求一个访问令牌,这就是我知道必须这样做的原因。因为我的应用程序被拒绝了,所以我不可能是唯一一个面对这个问题的人,所以我想我应该问一下。有人知道其他方法吗?也许我不知道,通过这种方法,您可以在不启动Safari的情况下对用户Instagram进行身份验证并获得所需的访问令牌 编辑#1:我能想到的唯一其他选择是在我的应用程序中使用UIWebView打开Instagram身份验证过程。我试过了,但速度似乎太慢了,我的应用程序的回调过程似乎没有启动。所以我不知道我是否做错了什么如何在iOS Swift的UIWebView中启用Cookie,ios,swift,cookies,oauth,uiwebview,Ios,Swift,Cookies,Oauth,Uiwebview,我有一个应用程序使用Instagram集成。该应用已经在应用商店中运行了几个月,多个版本都运行良好。突然,我提交给苹果的最新版本被拒绝了,因为苹果不喜欢Safari是为用户登录Instagram而发布的。正如他们所说,他们关心用户体验 问题是我需要请求一个访问令牌,这就是我知道必须这样做的原因。因为我的应用程序被拒绝了,所以我不可能是唯一一个面对这个问题的人,所以我想我应该问一下。有人知道其他方法吗?也许我不知道,通过这种方法,您可以在不启动Safari的情况下对用户Instagram进行身份验
编辑#2:进一步研究Instagram登录在我的UIWebView中不起作用的原因,这似乎与UIWebView如何处理Cookie有关,显然它无法识别Cookie或类似的东西。我仍然不知道该怎么做才能解决这个问题,所以如果有人有解决方案,请提供。看起来是可以帮助您的。你没有提供很多关于你的应用程序的信息,所以我想不出什么现成的东西,但是试着查看一下,看看当用户做了什么事情时,你是否可以使用它们来触发登录。我相信这可以优化一点,我可能不需要for循环。但无论如何,我在这个问题上已经花了将近一天的时间,只是不想再碰它了,因为在加载UIWebView之前,我终于能够通过执行以下操作来实现这一点:
var req = NSURLRequest(URL: NSURL(string: urlString)!)
var cookies = NSHTTPCookieStorage.sharedHTTPCookieStorage().cookies as! [NSHTTPCookie]
var reqCookies:[AnyObject] = []
for aCookie in cookies {
reqCookies += [aCookie]
}
var headers = NSHTTPCookie.requestHeaderFieldsWithCookies(reqCookies)
self.webView.loadRequest(req)
我已经在做了。这并不能真正回答这个问题。我的应用程序用户Instagram已经开始做各种各样的事情了。我想问的是如何验证用户身份并接收instagram所需的访问令牌。您在此处使用了哪些标题?