Werbeangebot kaufen (Apple): Ungültige Signatur (Skerrordomain -Fehler 12.)IOS

Programmierung für iOS
Guest
 Werbeangebot kaufen (Apple): Ungültige Signatur (Skerrordomain -Fehler 12.)

Post by Guest »

Erstens haben wir grundlegende Abonnements mit kostenloser Testversion (Einführungsangebot) implementiert und alle gut funktionieren. Danach haben wir das Werbeangebot < /code> implementiert und hier ist das Problem:
Auch wenn wir den von Apple in ihrer Dokumentation (von oben nach unten) bereitgestellten Richtlinien befolgt haben, erhalten wir immer den gleichen Fehler, was ist, was ist, was ist. dass die "Signatur ungültig ist". < /p>
(

Code: Select all

"Error: The operation couldn’t be completed. (SKErrorDomain error 12.)"< /code> < /p>
Erwähnungen: < /p>

[*] Die Signatur wurde auf unserer Serverseite implementiert < /li>
 Die Signatur wird verifiziert, um gültig zu sein. li>
 Auf der Benutzeroberfläche haben wir eine Schaltfläche zum Kaufangebot 
und wenn dies abgebrochen ist, wird das untere Modal von Apple korrekt angezeigt, wobei der Preis gemäß dem Angebot < BR/> [*] Auf der mobilen Seite verwenden wir Swift (5) und Swiftystorekit zum Umgang mit den Einkäufen.
Die Tests wurden mit Sandbox -Konten durchgeführt (Dev & TestFlight Builds) < /li>
< /ul>
Hier ist die grundlegende Methode, um das Angebot anzuwenden: < /p>



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>
Ich bin mir bewusst, dass diese Frage bereits gestellt wurde (ich habe sie alle gelesen ), aber sie hatten keine Antwort und ich hoffe, diese wird eine haben, da ich zu dem Schluss kam, dass selbst die Fragen, die im Apple.Developer Forum gestellt wurden Idee
Danke < /p>

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post