При покупке в приложении на iOS не извлекается продукт в Swift 4

#ios #xcode #in-app-purchase #swift4

#iOS #xcode #покупка в приложении #swift4

Вопрос:

Я пытаюсь получить покупку в приложении из App Store Connect следующим образом:

 private let kOneMonthSubscriptionId = "DOUBLESPEEDENERGY"
func loadProducts() {
    let identifiers = Set([kOneMonthSubscriptionId])
    let request = SKProductsRequest(productIdentifiers: identifiers)
    request.delegate = self
    request.start()
}

 override func viewDidAppear(_ animated: Bool) {


    if SKPaymentQueue.canMakePayments()
    {
        loadProducts()
    }

}

extension homeVC: SKProductsRequestDelegate {
func productsRequest(_ request: SKProductsRequest, didReceive response: SKProductsResponse) {
    if response.products.count > 0 {
        print("Purchasable products available!")
        // 1. Save the SKProduct's so you could let the user make a purchase
        // 2. Update the UI - it lets you change the product prices without updating the app
    } else {
        print("No purchasable products available.")
        // This might happen when your product identifiers are incorrect or your in-app purchases products weren't processed on iTunes Connect yet
    }
}
  

Пожалуйста, посмотрите, не случилось ли чего-нибудь с моим кодом, я действительно ценю это!

Заранее спасибо за всю помощь!

Комментарии:

1. вы используете тот же идентификатор пакета, который создан в вашей учетной записи разработчика?

2. Да, я использую тот же идентификатор пакета. @Dharmesh

3. Платежные данные клиента @Dharmesh не утверждены. и это не работает для меня, спасибо за помощь.

Ответ №1:

Наиболее вероятная причина заключается в том, что у вас нет банковского способа настройки покупок в приложении в App Store Connect (раздел соглашений, налогов и банковского дела (платные приложения)), если у вас его нет, ваше приложение не сможет получить доступ к службе покупок в приложении, потому что оно не знает, где производить платежи, даже если вы находитесь в изолированной среде.

Если это не помогло, посмотрите на некоторые другие возможности, почему это не работает:

  • Вы не использовали явный идентификатор приложения.
  • Вы не использовали профиль подготовки, связанный с вашим явным идентификатором приложения.
  • Вы не использовали правильный идентификатор продукта в своем коде.
  • Вы не очистили свои продукты, приобретенные в приложении, для продажи в iTunes Connect.
  • Возможно, вы изменили свои продукты, но эти изменения еще не доступны на всех серверах App Store.

Надеюсь, это поможет!

Комментарии:

1. Спасибо, что помогли мне @OkiRules