Покупка рекламного предложения (Apple): неверная подпись (ошибка Skerrordomain 12.)IOS

Программируем под IOS
Ответить Пред. темаСлед. тема
Anonymous
 Покупка рекламного предложения (Apple): неверная подпись (ошибка Skerrordomain 12.)

Сообщение Anonymous »

Во -первых, мы внедрили базовые подписки с бесплатной пробной версией (вступительное предложение), и все работали хорошо. После этого мы внедрили рекламное предложение < /code> и вот проблема:
даже если мы следовали рекомендациям, предоставленным Apple в их документации (сверху вниз), мы всегда получаем ту же ошибку, которая является что «подпись недействительна». < /p>
(

Код: Выделить всё

"Error: The operation couldn’t be completed. (SKErrorDomain error 12.)"< /code> < /p>
упоминает: < /p>

[*] Подпись была реализована на нашей стороне сервера < /li>
 Подпись проверяется как действительная
[*] Я попробовал с подписью, сгенерированной с OpenSSL из терминала (который был также подтвержден действительным) и до сих пор не работал 
 В пользовательском интерфейсе у нас есть кнопка с надписью о покупке 
, и когда это нажато, нижний модал от Apple отображается правильно, с ценой в соответствии с предложением < br/> На мобильной стороне мы используем Swift (5) и swiftystorekit для обработки покупок. (Dev & Testflight Builds) Сплык ">


func proceedToApplyOffer(signatureResult: PromotionalOfferSignatureResponse, username: String, completion: @escaping ((_ purchaseResult: Result) -> ())) {
if #available(iOS 12.2, *) {

self.getAppleProducts() {
productsResult in

// Get the apple products in order to be able to create the discount object

switch productsResult {
case .success(products: let products):

// Create the discount object with which the purchase will be made

guard let monthlyProduct: SKProduct = products.first(where: { $0.productIdentifier == self.monthlyProductIdentifier}) else { return }
let discount = SKPaymentDiscount(identifier: self.promotionalOfferIdentifier, keyIdentifier: self.keyIdentifier, nonce: signatureResult.nonce, signature: signatureResult.signature, timestamp: NSNumber(value: signatureResult.timestamp))
let swiftyDiscount = PaymentDiscount(discount: discount)

self.paymentService.purchaseProductWithDiscount(product: monthlyProduct, username: username, discount: swiftyDiscount) {
result in
switch result {

case .error(error: let skError):
completion(.error(skError))

case .success(purchase: let purchaseDetails):
completion(.success(purchaseDetails))
}
}
case .error(error: let error):
completion(.error(error))
}
}
}
else {
debugPrint("Not available on current OS version")
}
}< /code>
< /div>
< /div>
< /p>
Мне известно, что этот вопрос был задан ранее (я прочитал их все ), но у них не было никакого ответа, и я надеюсь, что у него будет один, так как я пришел к выводу, что даже вопросы, опубликованные на форуме Apple.Developer, остались без ответа.
Я оценлю любую помощь, любая Идея
Спасибо < /p>

Подробнее здесь: https://stackoverflow.com/questions/680 ... n-error-12
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «IOS»