логин работает в Safari, но не в UIWebView

У меня есть мертвое простое приложение для iOS, которое просто отображает UIWebView отображающий определенный веб-сайт, для которого требуется логин. Если я запустил приложение и попытаюсь войти в систему, он просто обновит страницу входа (без сообщения об ошибке). Если я использую Safari, я могу войти на тот же сайт в порядке. Что я могу сделать неправильно в своем UIWebView ? В случае, если это имеет значение, сайт использует SSL / https.

2 Solutions collect form web for “логин работает в Safari, но не в UIWebView”

Оказалось, что проблема такова : Asp.Net Forms Authentication при использовании iPhone UIWebView

(UIWebView отправляет нечетный заголовок User Agent, который ASP.NET не распознает, поэтому он считает, что он не может обрабатывать файлы cookie. Это, по-видимому, было исправлено в ASP.NET 4.5, и даже в более ранних версиях вы можете исправить его на сервере, если у вас есть доступ к сайту ASP.NET)

и ответ был здесь: Изменить агент пользователя в UIWebView (iPhone SDK)

который связан с: http://www.mphweb.com/ru/blog/easily-set-user-agent-uiwebview

с критической частью заключается в том, чтобы поместить этот код в код запуска приложения:

 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { NSDictionary *dictionary = [NSDictionary dictionaryWithObjectsAndKeys: @"Mozilla/5.0 (iPod; U; CPU iPhone OS 4_3_3 like Mac OS X; ja-jp) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8J2 Safari/6533.18.5", @"UserAgent", nil]; [[NSUserDefaults standardUserDefaults] registerDefaults:dictionary]; } 

Это изменяет агент пользователя. Есть удивительное количество других способов сделать это, некоторые чрезвычайно сложные (один из которых называется «swizzling»), и большинство из них не работают.

В таких случаях UIWebView требует реализации правильных методов протокола делегатов, которые позволяют вам взаимодействовать с серверными архитектурами. Пожалуйста, взгляните на это , вот и все.

  • NSMutableArray из NSMutableArrays. Метод мутирования, отправленный на неизменяемый объект
  • Offline Reverse Geocoding на уровне страны
  • NSFetchedResultsController пытается вставить нулевой объект?
  • Ограничение копирования вставки строки в числовом текстовом поле
  • Структура отчетности о сбоях IPhone
  • Как управлять режимом содержимого UIImageView?
  • Проблема с перерисовкой UITableView при прокрутке
  • Каков наилучший способ использования XCode для установки нескольких сборок одного и того же приложения для iOS на ваш iPhone?
  • Как вы распространяете бета-приложения iOS в своей команде, не используя тестовый полет?
  • Преобразование строки MM / DD / YYYY в NSDate
  • Компенсация отставания компаса с гироскопом на iPhone 4
  • Interesting Posts

    Swift performSegueWithIdentifier не работает

    Определение пользовательской области касания в пользовательском объекте UIControl

    requiredContentSizeIdentifiers устарел

    Доступ и установка сигнала по умолчанию для iphone

    Как читать глубже в снимок Firebase Swift 3?

    Как выполнить поиск в папке загрузки файловой системы iPhone для mp3-файлов

    Легкий способ отказаться от подписки на все темы, подписанные на GCM (устройство iOS)

    Можно ли принудить AVFoundation к воспроизведению локального файла .ts?

    Загрузка .dSYM на ткань (crashlytics)

    SecPKCS12Import не возвращает никаких элементов

    AudioKit AKSampler делает странный шум обратной связи

    Преобразование адреса в долготу и широту

    Строка формата DebugLog не является строковым литералом

    Может ли программа разработки приложений для корпоративных приложений iOS использоваться для распространения приложений в других компаниях, но не через магазин приложений?

    Что скрывать при открытии источника приложения iOS?

    PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.