2016-05-27 4 views
0

J'essaie de configurer mon application pour travailler avec une version locale de notre API qui utilise un certificat non signé que Xcode déteste.Obtenir l'application Swift pour travailler localement avec un certificat non signé

J'ai fait des recherches et essayé un certain nombre d'approches qui n'ont pas fonctionné de moi, de l'édition du fichier Info.plist à étendre NSURLRequest avec une fonction statique pour définir le allowsAnyHTTPSCertificateForHost non documenté pour renvoyer true à chaque fois.

Rien ne fonctionne et la plupart des ressources sont obsolètes avec les API obsolètes ou ne sont tout simplement pas utiles.

Aimerait les choses récentes que tout le monde a trouvé pour faire ce travail. Merci

+0

je avais besoin de configurer les paramètres de sécurité App Transport en info.plist. Avez-vous défini NSThirdPartyExceptionAllowsInsecureHTTPLoads pour votre domaine local et ajouté une exception? – smozgur

+0

Avez-vous essayé de mettre cela dans votre fichier plist? ' NSAppTransportSecurity NSAllowsArbitraryLoads ' –

Répondre

1

Vous n'avez pas fourni l'erreur, mais je pense que ATS (App Transport Security) vous restreint en utilisant votre domaine. Vous devez ajouter une exception et vous n'avez même pas besoin d'un certificat non signé dans votre local, car cette exception permettra l'accès à l'API HTTP.

Dans le Info.plist, créez l'entrée suivante - en supposant domain.localdomain.com est votre domaine local:

App Transport Security Settings --- Dictionary 
    Exception Domains   --- Dictionary 
     domain.localdomain.com --- Dictionary 
      NSThirdPartyExceptionAllowsInsecureHTTPLoads --- Boolean = YES