https://developer.apple.com/videos/wwdc/2015/?id=711 @ 5: 55
Não consigo adicionar isso ao meu info.plist. Não há valor. Estou executando o XCode versão 7.0 beta (7A121l) e testando no iOS9.
Como não posso declarar especificamente quais URLs quero como visto no vídeo, continuo recebendo "O App Transport Security bloqueou um carregamento de recurso HTTP (http: //) em texto não criptografado, pois é inseguro. Exceções temporárias podem ser configuradas através do aplicativo Arquivo Info.plist "erros.
No entanto, parece que não consigo configurá-lo. Alguma ideia?
ios
objective-c
xcode
ios9
chris P
fonte
fonte
Respostas:
tente Com isso --- funcionou para mim no Xcode-beta 4 7.0
Além disso, mais uma opção, se você deseja desativar o ATS, pode usar isto:
Mas isso não é recomendado. O servidor deve ter os certificados SSL e para que não haja vazamentos de privacidade.
fonte
<key>NSAllowsArbitraryLoads</key> <true/><key>NSExceptionDomains</key>
Caso contrário, para mim, não funcionou para versão de lançamento, por algum motivoÉ necessário adicionar apenas a chave NSAllowsArbitraryLoads a YES no dicionário NSAppTransportSecurity no seu arquivo info.plist.
Por exemplo,
fonte
Isso não estava funcionando para mim, mas fez o truque:
fonte
<true/>
vez de<YES/>
</dict>
e as</plist>
tags:Só para esclarecer ... Você sempre deve usar o httpS
Mas você pode ignorá-lo adicionando a exceção:
fonte
Xcode 8.2, iOS 10
fonte
Resposta de atualização (após o wwdc 2016):
O App Transport Security, ou ATS, é um recurso que a Apple introduziu no iOS 9. Quando o ATS é ativado, ele força um aplicativo a se conectar a serviços da Web por uma conexão HTTPS em vez de HTTP não seguro.
No entanto, os desenvolvedores ainda podem desativar o ATS e permitir que seus aplicativos enviem dados por uma conexão HTTP, conforme mencionado nas respostas acima. No final de 2016, a Apple tornará o ATS obrigatório para todos os desenvolvedores que esperam enviar seus aplicativos para a App Store. ligação
fonte
Isso permitirá a conexão com .com .net .org
fonte
fonte
Para explicar um pouco mais sobre a resposta do ParaSara: A segurança do Transporte de aplicativos se tornará obrigatória e tentar desativá-lo pode levar o seu aplicativo a ser rejeitado.
Como desenvolvedor, você pode desativar a segurança do Transporte de Aplicativo se o código de rede não funcionar com ele e desejar continuar outro desenvolvimento antes de corrigir qualquer problema. Digamos que em uma equipe de cinco pessoas, quatro possam continuar trabalhando em outras coisas enquanto uma resolve todos os problemas. Você também pode desativar a segurança do App Transport como uma ferramenta de depuração se tiver problemas de rede e quiser verificar se eles são causados pela segurança do App Transport. Assim que você souber, ligue-o novamente imediatamente.
A solução que você deve usar no futuro não é usar http, a menos que você use um servidor de terceiros que não suporte https. Se o seu próprio servidor não suportar https, a Apple terá um problema com isso. Mesmo com servidores de terceiros, eu não apostaria que a Apple aceite.
O mesmo acontece com as várias verificações de segurança do servidor. Em algum momento, a Apple aceitará apenas exceções justificáveis.
Mas, principalmente, considere o seguinte: você está colocando em risco a privacidade de seus clientes. Isso é um grande não-não no meu livro. Não faça isso. Corrija seu código, não peça permissão para executar um código não seguro.
fonte
Uma notícia ruim para os desenvolvedores que usam NSAppTransportSecurity.
https://techcrunch.com/2016/06/14/apple-will-require-https-connections-for-ios-apps-by-the-end-of-2016/
fonte
Na linha de comando do shell do mac , use o seguinte comando:
O comando adicionará todos os valores necessários ao seu arquivo plist.
fonte
XCODE 8, Swift 3: você precisa adicionar uma linha: **
** na lista de propriedades info.plist inside information.
fonte
Xcode 9.2, Swift 4, isso funciona para mim.
fonte