IOS13 beta 5: должен ли SKProductsRequest работать на симуляторе?

Хотя все отлично работает на реальных устройствах, мне интересно, почему делегат никогда не перезванивает на симуляторе iOS 13 beta 5?

Я поискал в Интернете ответ, но ничего не нашел.

Я реализовал 3 функции для протокола следующим образом:

public class StoreKit {
    var request: SKProductsRequest? = nil   // Keep a strong reference

    public func fetchProducts() {
        print("\(#function): start fetching products")

        let r = SKProductsRequest(productIdentifiers: productIDs)
        request = r
        r.delegate = self
        r.start()
    }

}

// MARK: - Get the requested products

extension StoreKit: SKProductsRequestDelegate {
    /// Products are received
    public func productsRequest(_ request: SKProductsRequest, didReceive response: SKProductsResponse) {
        print("\(#function): did receive")
    }



    /// Unable to received the products
    public func request(_ request: SKRequest, didFailWithError error: Error) {
        print("\(#function): Error for request: \(error.localizedDescription)")

    }



    public func requestDidFinish(_ request: SKRequest) {
        print("\(#function): did finish")
    }
}

person Stéphane de Luca    schedule 23.08.2019    source источник
comment
Имеется такая же проблема с устройствами симулятора iOS 13 в бета-версии 5. Мы проверим бета-версию 6 и сообщим об этом.   -  person Tim    schedule 24.08.2019
comment
Та же проблема в Xcode 11.1 (11A1027), но только на симуляторе iPad: /   -  person Ludovic Landry    schedule 07.10.2019
comment
Подобно stackoverflow.com/questions/58020258/   -  person DoesData    schedule 15.10.2019


Ответы (3)


Проблема была исправлена ​​Apple в бета-версии Xcode 6 (16 августа 2019 г.).

[ОБНОВЛЕНИЕ 30 сентября 2019 г.]

Для тех, кто все еще сталкивается с этой проблемой, загрузили ли вы Xcode v11.1 (11A1027), выпущенный 24 сентября 2019 г.? У меня нет никаких проблем с этим. Если вы по-прежнему, попробуйте добавить некоторую информацию, чтобы я мог вам помочь.

person Stéphane de Luca    schedule 24.08.2019
comment
В Xcode 11 GM, когда я запрашиваю продукты на симуляторе, я получаю request:didFailWithError: с сообщением об ошибке: Error Domain=ASDErrorDomain Code=507 "Error decoding object" UserInfo={NSLocalizedDescription=Error decoding object, NSLocalizedFailureReason=Attempted to decode store response} - person stakri; 13.09.2019
comment
Выпущено второе семя Xcode 11 GM. Попробуй это. - person Richard Witherspoon; 17.09.2019
comment
Я подтверждаю, что проблема все еще существует с выпуском xcode 11 версии 11.0 (11A420a) - person Daniel Mavrakis; 30.09.2019
comment
Та же проблема в Xcode 11.1 (11A1027), но только на симуляторе iPad: / - person Umair Suraj; 18.10.2019
comment
Такая же ошибка в Xcode 11.2 (11B52). Разве для этого еще нет разрешения? - person daredevil1234; 04.11.2019
comment
Такая же ошибка в Xcode 11.2.1 (11B500) на симуляторе iPad, и мое приложение все еще отклоняется. - person Kukiwon; 27.11.2019
comment
Такая же ошибка в Xcode 11.3 на симуляторе iPad, и мое приложение все еще отклоняется. - person Hassan Taleb; 12.12.2019
comment
Не могли бы вы предоставить образец кода? Один (временный?) Обходной путь, похоже, переключился на цель iOS13. - person Stéphane de Luca; 13.12.2019
comment
Та же ошибка в Xcode 13.3 на iPhone Simulator с iOS 13.3. - person Omid Ariyan; 20.12.2019

Была такая же проблема, как упоминалось в комментариях к ответу автора.

( request:didFailWithError: with error message being: Error Domain=ASDErrorDomain Code=507 "Error decoding object" UserInfo={NSLocalizedDescription=Error decoding object, NSLocalizedFailureReason=Attempted to decode store response} )

Я изменил цель развертывания проекта iOS на iOS 13.0, и продукты были успешно загружены в симуляторе.

person Alexander Ershov    schedule 23.09.2019
comment
В моем случае при использовании выпуска xcode 11 версии 11.0 (11A420a) проблема все еще существует даже после выбора iOS 13.0 в качестве цели развертывания и очистки. - person Daniel Mavrakis; 30.09.2019
comment
Я все еще получаю эту ошибку после установки цели развертывания на 13.0. - person Kukiwon; 27.11.2019

Xcode 11.2 (11B52) iOS 13.2 Simulator работает для меня

Как упоминалось почти во всех предложениях по связанным вопросам, убедитесь, что вы полностью завершили настройку продукта, например, покупку в приложении. Самое главное, убедитесь, что ваш раздел «Соглашения, налоги и банковское дело» заполнен на 100%:

  1. Перейти в App Store Connect
  2. Выберите "Соглашения", "Налоги" и "Банковское дело".
  3. На вкладке "Соглашение" убедитесь, что в соглашениях о бесплатных и платных приложениях отображается статус Активно.
  4. Убедитесь, что вы заполнили всю необходимую информацию на остальных вкладках.
  5. Если на любой из этих вкладок вы все еще видите пустые поля или поля, в которые вы можете ввести информацию, это означает, что вы еще не закончили.

Чтобы быстро протестировать продукты, доступные для покупки в вашем приложении, вы можете использовать пример покупки приложения от Apple.. Вам необходимо указать идентификатор пакета вашего приложения и указать идентификатор покупаемого продукта в определенном файле. Все инструкции есть.

На момент публикации этого поста симулятор SKProductsRequest работает отлично.

введите здесь описание изображения

person pnizzle    schedule 02.12.2019