• Использование правильного идентификатора пакета, который соответствует приложению Store Connect. Автомобильная подписка с: идентификатор продукта v1 (соответствует моему коду). Все поля заполнены (ценообразование, локализация и т. Д.). Статус: Готово для просмотра. < /P>
< /li>
[*] Настройка пользователя и настройки тестирования Sandbox < /p>
• Создана учетная запись тестера песочницы. Установлено и запускается приложение непосредственно из XCode.
Проблема: Storekit возвращает нет продуктов
• product.products (для: ["v1"]) не возвращает ни одного продукта.
• нет ошибки. /> • Я подтвердил, что конфигурация Storekit установлена на none в xcode. < /p>
• Не отображаются журналы, связанные с Storekit.//StoreKitManager.swift
import StoreKit
import SwiftUI
@MainActor
class StoreKitManager: ObservableObject {
@Published var products: [Product] = []
@Published var errorMessage: String?
func fetchProducts() async {
do {
let productIDs: Set = ["v1"] // Matches App Store Connect
let fetchedProducts = try await Product.products(for: productIDs)
print(fetchedProducts) // Debug output
DispatchQueue.main.async {
self.products = fetchedProducts
}
} catch {
DispatchQueue.main.async {
self.errorMessage = "Failed to fetch products: \(error.localizedDescription)"
}
}
}
}
< /code>
//ContentView.swift
import SwiftUI
struct ContentView: View {
@StateObject private var storeKitManager = StoreKitManager()
var body: some View {
VStack {
if let errorMessage = storeKitManager.errorMessage {
Text(errorMessage).foregroundColor(.red)
} else if storeKitManager.products.isEmpty {
Text("No products available")
} else {
List(storeKitManager.products, id: \.id) { product in
VStack(alignment: .leading) {
Text(product.displayName).font(.headline)
Text(product.description).font(.subheadline)
Text("\(product.price.formatted(.currency(code: product.priceFormatStyle.currencyCode ?? "USD")))")
.bold()
}
}
}
Button("Fetch Products") {
Task {
await storeKitManager.fetchProducts()
}
}
}
.padding()
.onAppear {
Task {
await storeKitManager.fetchProducts()
}
}
}
}
#Preview {
ContentView()
}
< /code>
Additional Information
• iOS Version: 18.2
• Xcode Version: 16.2
• macOS Version: 15.3.1
• Device: Physical iPhone (not simulator)
• StoreKit Configuration: Set to None
Is there any way to debug why StoreKit isn’t recognizing my subscription?
Подробнее здесь: https://stackoverflow.com/questions/794 ... cos-15-3-1
Мобильная версия