2016-02-05 3 views
0

Я использую parse.com, layer.com и моя компания URL-адрес для политики термины/неприкосновенность частной жизни, а также других структур в cocoapods как API Google Адресов.IOS 9 App транспортной безопасности для различных услуг

Я застреваю, потому что хочу использовать правильный Apple Transport Settings, и я не могу понять, как включить все, что мне нужно, в info.plist. Я не хочу, чтобы он был отклонен из магазина приложений при подаче.

Я провел исследование переполнения стека, и люди либо передали его, либо дали пример для одного домена. Пока неясно, как я должен добавить это в xml.

+0

Лучше найти альтернативу для синтаксического анализа ... – LinusGeffarth

+0

Существует множество примеров создания ATS. Обращайтесь к каждому из доменов отдельно. Имейте в виду, что вам нужно добавить только ATS для домена, который уже не обновляется. – rmaddy

+0

Linus G. Да, я знаю, будет делать свою миграцию, когда появятся новые инструменты. И @rmaddy, что вы имеете в виду «для домена, который не является современным» – kareem

ответ

0

не беспокоиться о отклонять вещи

согласно this guys answer

Хорошая новость яблочно Принято мое приложение с NSAllowsArbitraryLoads установить ДА.

Так что в вашем случае самый простой способ разрешить все запрос HTTP на этом пути, и если ваше приложение имеют встроенный веб-браузер, это, безусловно, ваш выбор

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

Если вы хотите просто разрешить конкретный запрос HTTP, то вы можете добавить это в info.plist

<key>NSAppTransportSecurity</key> 
<dict> 
    <key>NSExceptionDomains</key> 
    <dict> 
    <key>yourserver.com</key> 
    <dict> 
     <!--Include to allow subdomains--> 
     <key>NSIncludesSubdomains</key> 
     <true/> 
     <!--Include to allow HTTP requests--> 
     <key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key> 
     <true/> 
     <!--Include to specify minimum TLS version--> 
     <key>NSTemporaryExceptionMinimumTLSVersion</key> 
     <string>TLSv1.1</string> 
    </dict> 
    </dict> 
</dict> 

код выше говорит позволяют yourserver.com и его поддомен соединение HTTP

1

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

<key>NSAppTransportSecurity</key> 
<dict> 
    <key>NSExceptionDomains</key> 
    <dict> 
     <key>parse.com</key> 
     <dict> 
      <key>NSIncludesSubdomains</key> 
      <true/>     
      <key>NSThirdPartyExceptionRequiresForwardSecrecy</key> 
      <false/> 
     </dict> 
     <key>layer.com</key> 
     <dict> 
      <key>NSIncludesSubdomains</key> 
      <true/> 
      <key>NSThirdPartyExceptionRequiresForwardSecrecy</key> 
      <false/> 
     </dict> 
     <key>my-company.com</key> 
     <dict> 
      <key>NSIncludesSubdomains</key> 
      <true/> 
      <key>NSThirdPartyExceptionRequiresForwardSecrecy</key> 
      <false/> 
     </dict> 
    </dict> 
</dict> 

Кроме того, полная спецификация для NSAppTransportSecurity ключей можно найти here.