#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