NSURLSession didReceiveChallenge вызывается для каждого запроса
Я прошел по этой ссылке
Почему HTTPS NSURLSession соединение вызывается только один раз для каждого домена?
В случае NSURLConnection didReceiveChallenge не вызывался для каждого запроса. В случае NSURLSession он вызывается для каждого запроса. Как они могут вести себя по-разному, если это зависит только от кэша сеанса TLS