Гаразд, у мене була ця помилка, і я довгий час (роки) боровся з нею під час взаємодії з моїм додатком Ruby on Rails.
У мене були налаштовані облікові дані за замовчуванням, як описано у прийнятій відповіді, але все-таки я отримав помилку і покладався на відповідь didReceiveChallenge щодо надання облікових даних - на щастя, це працювало як обробка.
Але! Я щойно знайшов рішення!
Я працював над уявленням про те, що захищені областіSpace не відповідають виклику авторизації від сервера Ruby on Rails - і я заглянув у поле реальності, яке, здавалося, було єдиним, що залишилося невизначеним.
Я почав з друку заголовків відповідей сервера, і хоча мені вдалося їх вивчити, вони не включали поле WWW-Авторизація, яке включало б поле сфери.
Я подумав, що це може бути тому, що в моєму додатку Rails не було вказано царини, тому я почав дивитися на сторону Rails.
Я виявив, що можу вказати царство у виклику до,
authenticate_or_request_with_http_basic
... який я використовую для автентифікації HTTP Basic.
Я вже не вказував царину, тому додав,
authenticate_or_request_with_http_basic("My Rails App")
Потім я додав відповідний рядок до protectionSpace,
NSURLProtectionSpace *protectionSpace =
[[NSURLProtectionSpace alloc] initWithHost:@"myrailsapp.com"
port:443
protocol:NSURLProtectionSpaceHTTPS
realm:@"My Rails App"
authenticationMethod:NSURLAuthenticationMethodHTTPBasic];
Вуаля! Це спрацювало, і я більше не отримую,
CredStore - performQuery - Error copying matching creds. Error=-25300
Навіть після зазначення сфери в додатку Rails я все ще не бачу передачі її в заголовку HTTP, я не знаю чому, але принаймні це працює.