SwiftyStoreKit - неизвестная ошибка. Пожалуйста, свяжитесь со службой поддержки - PullRequest
0 голосов
/ 24 марта 2020

Я создаю приложение ios, и у меня возникают проблемы с покупками внутри приложения. Я использую SwiftyStoreKit для покупки покупок в приложении. Проблема заключается в том, что когда я пытаюсь приобрести продукт (автоматически продлеваемую подписку), иногда он проходит гладко, и я могу купить продукт, но иногда он выдает мне сообщение об ошибке «Неизвестная ошибка. Обратитесь в службу поддержки». Из-за этой ошибки мое приложение было отклонено несколько раз. Пожалуйста, помогите, если вы знаете, что его вызвало.

Аналогичная проблема: Не удается одобрить мое приложение из-за ошибки «Не удается подключиться к iTunes»

Вот код I использую для покупки товара:

func purchaseSubscription(product: IAPProduct, completion: @escaping (_ success: Bool, _ error: String) -> Void) {

    let productStr = product.rawValue

    SwiftyStoreKit.purchaseProduct(productStr) { (result) in
        switch result {
        case .success(let purchase):
            print("Purchase Success: \(purchase.productId)")


            let purchasedProductID = purchase.productId

            switch purchasedProductID {
            case IAPProduct.premiumWeekly.rawValue, IAPProduct.premiumYearly.rawValue:

                self.subscribed = true
                completion(true, "")

            default:
                break
            }

        case .error(let error):
            switch error.code {
            case .unknown: completion(false, "Unknown error. Please contact support")
            case .clientInvalid: completion(false, "Not allowed to make the payment")
            case .paymentCancelled: completion(false, "---")
            case .paymentInvalid: completion(false, "The purchase identifier was invalid")
            case .paymentNotAllowed: completion(false, "The device is not allowed to make the payment")
            case .storeProductNotAvailable: completion(false, "The product is not available in the current storefront")
            case .cloudServicePermissionDenied:completion(false, "Access to cloud service information is not allowed")
            case .cloudServiceNetworkConnectionFailed: completion(false, "Could not connect to the network")
            case .cloudServiceRevoked: completion(false, "User has revoked permission to use this cloud service")
            default: completion(false, error.localizedDescription) //print((error as NSError).localizedDescription)
            }
        }
    }


}
...