MICHELEPISANI.IT
 

Temporary exceptions can be configured via your app's Info.plist file.

App Transport Security has blocked a cleartext HTTP resource load since it is insecure

App Transport Security has blocked a cleartext HTTP resource load since it is insecure
October 05
07:222015

Mi è capitato di testare una mia app dopo un'aggiornamento del sistema operativo iOS e, mentre prima funzionava correttamente, ha smesso di effettuare chiamate esterne. Non so quanto il nesso tra l'aggiornamento ed il problema in questione possa essere collegato, tuttavia l'app basandosi su richieste ad un web service era diventata del tutto inutile. Indagando ed analizzando il file di log ho capito che per ragioni di sicurezza le chiamate in chiaro di tipo http venivano bloccate, il messaggio determinante è stato il seguente:

App Transport Security has blocked a cleartext HTTP (https://) resource load since it is insecure. Temporary exceptions can be configured via your app's Info.plist file.

App Transport Security (ATS) consente di aggiungere una dichiarazione al file Info.plist per specificare i domini con i quali l'app ha bisogno di effettuare una comunicazione sicura impedendo richieste indesiderate.
La soluzione pertanto è quella di sbloccare tale prevenzione disabilitando l'ATS tramite il file Info.plist, per farlo basta aggiungere le seguenti righe di codice al file:

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


Il codice di cui sopra è utile nel caso di modifica effettuata direttamente su XML, se invece si vuole disabilitare l'ATS dall'interfaccia visuale di Xcode è necessario espandere la cartella "Resources" del progetto, selezionare il file *.plist ed aggiungere le chiavi-tipo-valore evidenziate in rosso nell'immagine seguente, Fig. 1:

App Transport Security has blocked a cleartext HTTP resource load since it is insecure. Temporary exceptions can be configured via your app's Info.plist file.

Fig. 1 - App Transport Security has blocked a cleartext HTTP (https://) resource load since it is insecure. Temporary exceptions can be configured via your app's Info.plist file.


In questo modo le chiamate http funzioneranno nuovamente.


Tags

Autore

Michele Pisani

Michele Pisani

Ho uno spiccato orientamento al problem-solving, se è troppo facile non mi diverto :)
Credo nella volontà e nel cambiamento perchè hanno fatto della mia passione il mio pane quotidiano.
Se devo descrivermi con una sola parola direi... "Concretezza", la mia stretta di mano è una garanzia.

0 Commenti

Non ci sono commenti

Nessuno ha ancora commentato questo articolo, fallo tu per primo!

Scrivi un Commento

Scrivi un Commento

Il tuo indirizzo email non sarà pubblicato.
I campi contrassegnati da un * sono obbligatori

Articoli e Argomenti correlati

Il Canale YouTube in ITALIANO

1 VIDEO GRATIS ogni 2 settimane! ISCRIVITI!

Entra a far parte della community su Facebook

Categorie popolari

Iscriviti alla mia newsletter

La tua e-mail con me sarà al sicuro.
Non fornirò mai le tue informazioni a nessuno!

Ultimi commenti

Michele Pisani

Hai verificato se succede per tutte le pagine da un certo periodo di tempo in poi o solo su alcune?

Tecnowiz

Sono amministratore di un blog pure io... Intanto ti faccio i complimenti per questo articolo. …

Michele Pisani

Ciao Antonio, grazie per la fiducia :) In caso di più fogli è necessario inserire il codice del …

Antonio

Ciao Michele, ho acquistato il tuo libro che unitamente ai tuoi video sta diventando il mio corso …