2015-04-23 4 views
0

У меня есть приложение, которое использует интеграцию Instagram. Приложение находится в App Store в течение нескольких месяцев, при этом вся версия работает отлично. Внезапно последняя версия, которую я подала в Apple, была отвергнута, потому что яблоку не нравится тот факт, что Safari запущен для входа пользователя в Instagram. По их словам, они заботятся о работе пользователя.Как включить файлы cookie в UIWebView для iOS Swift

Проблема в том, что мне нужно запросить токен доступа, и именно так я знаю, что это нужно сделать. Поскольку мое приложение было отклонено, я не могу быть единственным, кто мог столкнуться с этим, поэтому я подумал, что должен спросить. Может ли кто-нибудь узнать о каком-либо другом методе, возможно, я не знаю, как вы можете аутентифицировать пользовательскую Instagram и получить требуемый токен доступа без запуска Safari?

EDIT # 1: Единственное, что я могу придумать, это использовать UIWebView в своем приложении, чтобы открыть процесс аутентификации Instagram. Я пробовал это, и это кажется сумасшедшим медленным, и процесс обратного вызова к моему приложению, похоже, не инициирует. Поэтому я не знаю, что я делаю что-то неправильно.

РЕДАКТИРОВАТЬ # 2: Проводя больше исследований относительно того, почему логин Instagram не работает в моем UIWebView, похоже, что UIWebView обрабатывает файлы cookie, по-видимому, он не распознает файлы cookie или что-то в этом роде. Я все еще не знаю, что именно сделать, чтобы исправить это, поэтому, если у кого-то есть решение, пожалуйста, предоставьте.

ответ

0

Похоже, this что-то, что может вам помочь. Вы не указали много информации о своем приложении, поэтому я не могу придумать что-то вне коробки, но попробуйте посмотреть в Instagram iPhone Hooks и посмотреть, можете ли вы использовать их для запуска входа в систему, когда пользователь что-то делает.

+0

I Я уже это делаю. Это не отвечает на этот вопрос. Мои пользователи приложений Instagram Крючки уже делают всевозможные вещи. Я спрашиваю об аутентификации пользователя и получении токена доступа, требуемого instagram. – Lavvo

-1

Я уверен, что это может быть оптимизировано немного, мне, вероятно, не нужен цикл 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) 
+0

, где вы использовали заголовки здесь? – Profstyle