SSErrorDomain, SKReceiptRefreshRequest, SKRequest завершился ошибкой, код = 16, код = 110

iOS 9.2.1, Xcode 7.2.1, ARC включен

Я использую следующий метод для проверки ошибок SKProductsRequest и SKReceiptRefreshRequest:

- (void)request:(SKRequest *)request didFailWithError:(NSError *)error
{
    NSLog(@"error: %@", error);
}

Мой вопрос конкретно о SKReceiptRefreshRequest. Я тестирую два условия: (1) когда пользователь отменяет вход в iTunes Store для получения запроса и (2) когда пользователь пытается войти в систему, но соединение отсутствует (режим полета).

Я получаю следующие ошибки:

Когда нет связи:

Error Domain = SSErrorDomain Code = 110 «Не удается подключиться к iTunes Store» UserInfo = {NSLocalizedDescription = Невозможно подключиться к iTunes Store, NSUnderlyingError = 0x13c76d680 {Error Domain = NSURLErrorDomain Code = -1009 «Невозможно подключиться к iTunes Store» UserInfo = {NSLocalizedDescription = Cannot подключиться к iTunes Store, NSErrorFailingURLStringKey =

{здесь идентификаторы ваших продуктов и соответствующие URI}

, _kCFStreamErrorCodeKey = 8, _kCFStreamErrorDomainKey = 12, NSLocalizedDescription = Интернет-соединение отключено.}}}

Когда пользователь нажимает кнопку «Отменить»:

Error Domain = SSErrorDomain Code = 16 «Не удается подключиться к iTunes Store» UserInfo = {NSLocalizedDescription = Невозможно подключиться к iTunes Store, NSUnderlyingError = 0x13c6ac7b0 {Error Domain = AKAuthenticationError Code = -7003 "(null)"}}

Я использовал необработанные коды ошибок, чтобы различать ошибки и запускать соответствующие события пользовательского интерфейса для обработки состояния ошибки. Но я делал это, не понимая, в чем заключается основная ошибка.

Домен общей ошибки между ними - SSErrorDomain.

Не могли бы вы уточнить, что такое SSErrorDomain и к какой структуре он принадлежит? Кроме того, не могли бы вы предоставить полезную документацию обо всех возможных кодах ошибок для этого домена?

Заранее спасибо!


person serge-k    schedule 07.03.2016    source источник
comment
Вы когда-нибудь догадывались об этом?   -  person user3344977    schedule 11.04.2016
comment
Спасибо за проявленный интерес. Я не! Я не могу найти никакой документации по SSErrorDomain, все, что я вижу, - это несколько кодов ошибок, которые я смог создать, переключившись в режим полета или отменив его во время выполнения запроса на обновление. Я все еще ищу и нуждаюсь в помощи.   -  person serge-k    schedule 11.04.2016
comment
Интересно. Как вы думаете, после всего вашего тестирования, единственные 2 причины, вызывающие это, - это режим полета или отмена во время выполнения запроса на обновление? - Я беспокоюсь, что может быть больше, и мои клиенты не совершают покупку, но не уверен.   -  person user3344977    schedule 11.04.2016
comment
Я не уверен, но это все, что я смог проверить. С тех пор я отправил свое приложение, и Apple его одобрила, вы можете проверить его itunes.apple.com/us/app/fifteen-fun/id1085830223?ls=1&mt=8, я тестировал встроенное приложение. покупал несколько раз, вроде все нормально работает. Я также протестировал запрос на обновление квитанции, переустановив приложение и выполнив вход с моим идентификатором Apple. на телефон друзей, и я все еще могу восстановить покупки, которые я уже сделал, без проблем.   -  person serge-k    schedule 11.04.2016
comment
Что касается запросов на продукты, вы должны каждый раз отправлять запрос, чтобы проверить наличие каких-либо изменений в ваших доступных продуктах Apple, прежде чем продавать их. Моя логика здесь такова ... Если вы не можете получить список продуктов от Apple, то пользователь все равно не может закончить их покупку, потому что у них либо нет действительного идентификатора. или нет стойки регистрации.   -  person serge-k    schedule 11.04.2016
comment
Огромное спасибо, что дали мне знать. Это досадная ошибка, но похоже, что IAP живого приложения работает нормально. Это то, что я тоже испытываю.   -  person user3344977    schedule 12.04.2016
comment
Был подан радар, предполагающий, что это может быть опечатка: openradar.me/25502597   -  person Phil Mitchell    schedule 19.07.2016
comment
@PhilMitchell Очень интересно! Не думал об этом. Возможно, это тип, но целочисленные значения генерируемых кодов ошибок не соответствуют значениям SKErrorDomain.   -  person serge-k    schedule 19.07.2016