2016-12-19 7 views
3

Привет я получаю следующее сообщение об ошибке:Домен = NSURLErrorDomain код 1202

Error Domain=NSURLErrorDomain Code=-1202 \"The certificate for this server is invalid. You might be connecting to a server that is pretending to be “server-prod.name-cloud.com” which could put your confidential information at risk.\" UserInfo={NSErrorFailingURLStringKey= https://server-prod.name-cloud.com /v3/project/session/926B9E6BE31B/, NSLocalizedRecoverySuggestion=Would you like to connect to the server anyway?, _kCFStreamErrorDomainKey=3, NSErrorFailingURLKey= https://server-prod.name-cloud.com /v3/project/session/926B9E6BE31B/, _kCFStreamErrorCodeKey=-9843, NSLocalizedDescription=The certificate for this server is invalid. You might be connecting to a server that is pretending to be “server-prod.name-cloud.com” which could put your confidential information at risk.}

Я прочитал все relevant docs, мы применяем все требования в разделе «Общие неисправностей».

Подробнее:

  • ошибки, полученные только из Германии (за исключением 4 раза за 2 Вт, который был из Италии)
  • Это не воспроизводимые в доме
  • В конце концов, после того, как тонны повторит закачки идут бросить
  • Это было получен стендом в прошивке 10.xx & 9.xx
  • Я использую Amazon сервера с 2016-08 SSL Security Policies, поэтому согласно apple должно быть ОК

В приложении я использую:

<key>NSAppTransportSecurity</key> 
    <dict> 
     <key>NSAllowsArbitraryLoads</key> 
    <true/> 
</dict> 

примечание - в производстве я всегда использую HTTP, я оставить NSAllowsArbitraryLoads, потому что некоторые тестеры офшор может переключить маршрут к HTTP для отладки.

+0

Вы читаете это [(http://lithium3141.com/blog/2015/08/21/shipping-an-app-with-app-transport-security/](http://lithium3141.com/blog/ 2015/08/21/shipping-an-app-with-app-transport-security /) –

ответ

9

Для разработчиков, которые работают с сервером локально и должны заставить iOS Simulator доверять сертификату. Выполните следующие действия:

  1. Получить файл .cer экспортируя сертификат от брелка. Вам нужен файл сертификата в допустимом формате, и его проще всего получить его , экспортируя его из брелка.

  2. Перетащите вышеупомянутый файл .cer на симулятор. Он должен дать вам подсказку по установке «профиля». Следуйте инструкциям по установке.

  3. Для тех, кто работает с последними версиями XCode и iOS Simulator. Вам нужно сделать последний шаг. Симулятор должен быть явно указан, чтобы доверять корневому ЦС. Делайте это, перейдя в General -> About -> Certificate Trust Settings -> "Enable Full Trust for Root Certificate" for your particular certificate

Будем надеяться, что это экономит головную боль для некоторых людей!

+0

Ничего себе, вы просто сохранили мое рассудительность. –

+0

Опция «Включить полный доверительный сертификат для корневого сертификата» отсутствует на моем симуляторе с ios 10.3 –

+0

В моем случае опция «Включить полное доверие для корневого сертификата» появляется только для корневых сертификатов. Она не отображается для промежуточных или листовых сертификатов. –