Per Mac OS X Yosemite 
-  Aggiornamento openssl da brew alla versione > = 1.0.2d 
-  TLS 1.2 funziona  solo con  apache 2.4 e attualmente MAMP viene ancora fornito con apache 2.2.  SOLUZIONE:  scarica e installa l'ultima versione di  AMPPS  che esegue una versione di apache 2.4.x 
- 
 crea un certificato autofirmato con sha256 (come richiesto da iOS 9) con     openssl req -x509 -nodes -sha256 -days 365 -newkey rsa:2048 -keyout server.key -out server.crt
 
 e salva   server.key    e   server.crt    in   /Applications/AMPPS/apache/conf    
-  Assicurati che i moduli ssl siano caricati nel file httpd.conf di AMPPS 
-  Modifica file   /Applications/AMPPS/apache/conf/extra/httpd-ssl.confaggiungendo:
 
<VirtualHost localhost:443>
   DocumentRoot "/Applications/AMPPS/www"
   ServerName localhost
   SSLEngine on
   SSLProtocol all -SSLv2 -SSLv3
   SSLHonorCipherOrder on
   SSLCertificateFile "/Applications/AMPPS/apache/conf/server.crt"
   SSLCertificateKeyFile "/Applications/AMPPS/apache/conf/server.key"
</VirtualHost>
 inside 
<IfModule ssl_module> ... </IfModule> 
-  Il simulatore di iOS 9 ti infastidisce ogni volta che usi NSURLSession generando un errore 9813 che dice che il certificato non è valido (perché è autofirmato). Pertanto, in ogni classe in cui utilizzerai NSURLSession, ad esempio, segui la seguente procedura: 
 
class LoginService: NSObject, NSURLSessionDelegate {
func URLSession(session: NSURLSession,
    task: NSURLSessionTask,
    didReceiveChallenge challenge: NSURLAuthenticationChallenge,
    completionHandler: (NSURLSessionAuthChallengeDisposition, NSURLCredential?)
    -> Void) {
    completionHandler(NSURLSessionAuthChallengeDisposition.UseCredential, NSURLCredential(forTrust: challenge.protectionSpace.serverTrust!))
}
...
func requestLoginWithURL (requestURL: NSURL, completionHandler: (success: Bool?) -> Void) {
    let configuration =
    NSURLSessionConfiguration.defaultSessionConfiguration()
    let urlRequest: NSURLRequest = NSURLRequest(URL: requestURL)
    let session = NSURLSession(configuration: configuration, delegate: self, delegateQueue:NSOperationQueue.mainQueue())
    /*
    dataTaskWithRequest: creates an HTTP request for the specified URL request object, and calls a handler upon completion.
    */
    let task = session.dataTaskWithRequest(urlRequest, completionHandler: { (data: NSData?, response: NSURLResponse?, error: NSError?) -> Void in
...
}
 in cui la funzione   URLSession    è un delegato che impedirà l'arresto anomalo dell'app a causa del certificato autofirmato e accetterà comunque.