По какой-то причине невозможно получить продукты на реальном устройстве с помощью файла .storekit, поэтому вместо этого проверьте с помощью симулятора.
Сгенерируйте подпись локально и на серверной стороне, используя как минимум три разных способа: const key = new ECKey(privateKey, 'pem'); const Sign = key.createSign('SHA256'), const Sign = createSign('SHA256') и опция dsaEncoding: 'ieee-p1363' для подписи. Проверка знака работает нормально, так что я даже не уверен, что проблема со знаком. Я использовал как примеры генерации подписи с использованием ИИ, так и официальный пример JS узла от Apple.
Пробовал как с StoreKit1, так и с StoreKit2.
Проверил console.log для симулятора, есть много ошибок, но я не уверен, связаны ли они с моей проблемой:
AMSMetricsFigaroFlushTask: [10AFB6CC] === Failed === -> error = { Error domain=AMSErrorDomain, code=7, underlyingError={ { Error domain=AMSErrorDomain, code=204 }
AMSMetricsDatabase: No topic found on event
AMSMetrics: [10AFB6CC] Flush failed. count: (null) error: Error Domain=AMSErrorDomain Code=7 "Figaro Bag Failure Failed to locate the figaro bag configuration" UserInfo={AMSDescription=Figaro Bag Failure, NSDebugDescription=Figaro Bag Failure Failed to locate the figaro bag configuration, AMSFailureReason=Failed to locate the figaro bag configuration, NSUnderlyingError=0x600000c7a670 {Error Domain=AMSErrorDomain Code=204 "An unknown error occurred. Please try again." UserInfo={NSDebugDescription=An unknown error occurred. Please try again., AMSDescription=An unknown error occurred. Please try again.}}}
AMSCertificateManager: [0C67D831_SK1] Failed to fetch item for label: com.apple.AppleMediaServices.key.primary.0CEE4D7E-4EAC-44D8-BF17-0A3CC85D6569 status: -25300
AMSCertificateManager: [0C67D831_SK1] Fetching public key failed. Could not fetch private key.
AMSFDSService: [C96CA00D] Failed to find AFDS value
AMSAbsinthe: [B81B4B77] Failed to load Absinthe requests from bag. Will continue without adding any signing headers. error = { Error domain=AMSErrorDomain, code=204
AMSURLRequestDecoration: [0C67D831_SK1] Failed to add mescal header. Error: { Error domain=AMSErrorDomain, code=204
Requested offer for invalid winback offer identifier "enhancer_50". This may be a client error in the StoreKit framework.
Missing key pair set
Есть какие-нибудь подсказки или другие решения, которые можно попробовать? Я не хочу выпускать что-то, что нельзя как следует протестировать.
Конверт: [list] [*]Уже работающее приложение с действующими подписками. [*]Настроенное рекламное предложение и ключ подписки, но новая версия приложения еще не выпущена. [*]Синхронизированный файл .storekit в Xcode. Он содержит новое предложение подписки. [*]Использование симулятора. [/list] Проблема: Когда я добавляю метод PaymentQueue.add(Payment), который имеет Payment.PaymentDiscount, он возвращает ошибку: [code]Error Type=SKError Error Domain=SKErrorDomain Code=0 "An unknown error occurred" UserInfo={NSLocalizedDescription=An unknown error occurred, NSUnderlyingError=0x600000e2a670 {Error Domain=ASDErrorDomain Code=3903 "(null)" UserInfo={NSUnderlyingError=0x600000e2a520 {Error Domain=AMSErrorDomain Code=305 "(null)"}}}} [/code] Попытка: [list] [*]По какой-то причине невозможно получить продукты на реальном устройстве с помощью файла .storekit, поэтому вместо этого проверьте с помощью симулятора. [*]Сгенерируйте подпись локально и на серверной стороне, используя как минимум три разных способа: const key = new ECKey(privateKey, 'pem'); const Sign = key.createSign('SHA256'), const Sign = createSign('SHA256') и опция dsaEncoding: 'ieee-p1363' для подписи. Проверка знака работает нормально, так что я даже не уверен, что проблема со знаком. Я использовал как примеры генерации подписи с использованием ИИ, так и официальный пример JS узла от Apple. [*]Пробовал как с StoreKit1, так и с StoreKit2. [*]Проверил console.log для симулятора, есть много ошибок, но я не уверен, связаны ли они с моей проблемой: [/list] [code]AMSMetricsFigaroFlushTask: [10AFB6CC] === Failed === -> error = { Error domain=AMSErrorDomain, code=7, underlyingError={ { Error domain=AMSErrorDomain, code=204 } AMSMetricsDatabase: No topic found on event AMSMetrics: [10AFB6CC] Flush failed. count: (null) error: Error Domain=AMSErrorDomain Code=7 "Figaro Bag Failure Failed to locate the figaro bag configuration" UserInfo={AMSDescription=Figaro Bag Failure, NSDebugDescription=Figaro Bag Failure Failed to locate the figaro bag configuration, AMSFailureReason=Failed to locate the figaro bag configuration, NSUnderlyingError=0x600000c7a670 {Error Domain=AMSErrorDomain Code=204 "An unknown error occurred. Please try again." UserInfo={NSDebugDescription=An unknown error occurred. Please try again., AMSDescription=An unknown error occurred. Please try again.}}} AMSCertificateManager: [0C67D831_SK1] Failed to fetch item for label: com.apple.AppleMediaServices.key.primary.0CEE4D7E-4EAC-44D8-BF17-0A3CC85D6569 status: -25300 AMSCertificateManager: [0C67D831_SK1] Fetching public key failed. Could not fetch private key. AMSFDSService: [C96CA00D] Failed to find AFDS value AMSAbsinthe: [B81B4B77] Failed to load Absinthe requests from bag. Will continue without adding any signing headers. error = { Error domain=AMSErrorDomain, code=204 AMSURLRequestDecoration: [0C67D831_SK1] Failed to add mescal header. Error: { Error domain=AMSErrorDomain, code=204 Requested offer for invalid winback offer identifier "enhancer_50". This may be a client error in the StoreKit framework. Missing key pair set [/code] Есть какие-нибудь подсказки или другие решения, которые можно попробовать? Я не хочу выпускать что-то, что нельзя как следует протестировать.