Вы можете HTML кодировать содержание текстового поля, но к сожалению который не будет мешать исключению произойти. По моему опыту, вокруг нет никакого пути, и необходимо отключить проверку страницы. Путем выполнения этого Вы говорите: "Я буду осторожен, я обещаю".
Из вашего вопроса:
Я знаю, что многие люди выполняют рабочий процесс OAuth внутри своих приложений с помощью UIWebView, но я не согласен с этим и собираюсь использовать Pownce
В статье Pownce говорится, что выйти из приложения и открыть Mobile Safari для выполнения шага аутентификации проблематично, и что они начали получать плохие отзывы от пользователей за то, что они сделали это таким образом. Они также столкнулись с частотой отказов около 40%.
Решение Pownce состоит в том, чтобы вместо этого использовать UIWebView в вашем приложении, поэтому я чувствую, что вы могли неверно истолковать их рекомендации. При этом они называют это «наивным» решением и предлагают кучу теоретических «идеальных» решений.
Еще один момент, который вы могли не осознавать, - это то, что настольные приложения (использующие "внеполосный" метод / метод нумерации контактов) и веб-приложениям должны открывать сайт Twitter во встроенном или внешнем браузере.
Итак, у вас есть два варианта на iPhone:
oauth_callback
или oauth_callback = oob
, чтобы запустить pin- на основе внеполосного потока. Затем пользователю необходимо скопировать PIN-код с помощью функции копирования и вставки iPhone, вручную закрыть UIWebView и вставить его в ваше приложение. Затем этот контакт можно преобразовать в токен доступа. custom-uri: //foo.bar
в параметре обратного вызова). По понятным причинам
Простым решением может быть создание HTTP-страницы, которая всегда отправляет 301 редирект на вашу индивидуальную схему URL-адресов, а затем предоставляет этот HTTP-URL-адрес веб-API Twitter.
Помимо этого, Ответ Натана очень полный.
Вот как я это делаю: скажите Twitter, что вы веб-приложение, и создайте любой старый URL HTTP: // для удовлетворения запросов Twitter во время регистрации вашего клиента oauth.
Затем в своем приложении передайте нужный URL в параметре обратного вызова. Твиттер (по моему опыту) использует тот, который вы ему даете.
Вы можете использовать промежуточный веб-сайт для аутентификации. Ваше приложение создает уникальный идентификатор (аппаратный?) И сохраняет его. Затем он записывает, что отправил пользователя для аутентификации, и отправляет уникальный идентификатор на ваш веб-сайт. Затем он перенаправляет пользователя на ваш сайт. Затем ваш веб-сайт отправляет пользователя в Twitter с помощью oAuth. Пользователь возвращается на ваш сайт, и вы отмечаете уникальный идентификатор как аутентифицированный и сохраняете информацию аутентификации. Пользователь перезапускает приложение на iPhone, он считывает, что отправил пользователя для аутентификации, и связывается с вашим сайтом с уникальным идентификатором - и считывает информацию аутентификации.
Долго и нужен другой сайт, но он должен работать.