«Не удалось получить информацию о продукте» «Неверный идентификатор продукта» SwiftyStoreKit iOS Swift Xcode - PullRequest
0 голосов
/ 09 мая 2019

У меня проблема с платформой SwiftyStoreKit, и я даже не уверен, как проверить, решил ли я проблему. Когда я использую свой аккаунт в песочнице, все покупки работают отлично. Но когда я отправляю его в App Store, они отклоняют его, потому что говорят, что получают сообщение «Не удалось получить информацию о продукте - неверный идентификатор продукта: com.rrtenz.puzzlesfromsurvivor2.unlockAll».

Я включил их снимок экрана ниже и полный текст описания проблемы.

enter image description here

Руководство 2.1 - Производительность - Полнота приложения

Мы обнаружили одну или несколько ошибок в вашем приложении при просмотре на iPad работает iOS на Wi-Fi.

Мы получили прикрепленное сообщение об ошибке при любом выборе из магазин.

Следующие шаги

Чтобы решить эту проблему, запустите приложение на устройстве, чтобы определить проблемы, затем пересмотрите и повторно отправьте ваше приложение на рассмотрение.

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

Для новых приложений удалите все предыдущие версии приложения из устройство, затем установите и следуйте инструкциям, чтобы воспроизвести проблему. За обновления, установите новую версию как обновление предыдущей версии, затем следуйте инструкциям, чтобы воспроизвести проблему.

Ресурсы

Для получения информации о тестировании вашего приложения и подготовке его к рассмотрению, см. Техническую ноту TN2431: Руководство по тестированию приложения.

Обзор сети можно найти в разделе «О сети».

Продукт был добавлен в App Store Connect, и идентификаторы продукта совпадают.

Не знаю, имеет ли это значение, но идентификатор пакета моего приложения - "com.rrTenz. Puzzles-for-Survivors ", а идентификаторы моего продукта - "com.rrtenz. puzzlesfromsurvivor2 .xxxxx».

Вот мой код:

AppDelegate:

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
    SwiftyStoreKit.completeTransactions(atomically: true) { purchases in
        for purchase in purchases {
            switch purchase.transaction.transactionState {
            case .purchased, .restored:
                if purchase.needsFinishTransaction {
                    // Deliver content from server, then:
                    SwiftyStoreKit.finishTransaction(purchase.transaction)
                }
            // Unlock content
            case .failed, .purchasing, .deferred:
                break // do nothing
            @unknown default:
                fatalError()
            }
        }
    }
    return true
}

Получить код информации:

func getInfo(purchase: RegisteredPurchase) {
    NetworkActivityIndicatorManager.NetworkOperationStarted()
    SwiftyStoreKit.retrieveProductsInfo([bundleID + "." + purchase.rawValue], completion: {
        result in
        NetworkActivityIndicatorManager.NetworkOperationFinished()

        if let product = result.retrievedProducts.first {
            //handle info here
            [...]
        }else {
            //error alert
            [...]
        }
    })
}

Сделать код покупки:

func purchase(purchase: RegisteredPurchase) {
    NetworkActivityIndicatorManager.NetworkOperationStarted()
    SwiftyStoreKit.purchaseProduct(bundleID + "." + purchase.rawValue, completion: {
        result in
        NetworkActivityIndicatorManager.NetworkOperationFinished()

        if case .success(let product) = result {
            //update purchase variables here
            [...]
        }
        //purchase complete alert
        [...]
    })
}

Итак, как я упоминал ранее, я не уверен, как отладить эту проблему, потому что я даже не могу продублировать поведение при использовании своей учетной записи в песочнице. Если кто-то посоветует или может определить, что я делаю неправильно, я был бы очень признателен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...