0
アプリ内でアプリ内購入を実装しています。これを行う方法については、Jared Davidsonのチュートリアルを見ています(偉大なチュートリアル)それは6ヶ月です。私はまだそれを完了していないが、私は警告を設定するときにいくつかのエラーに直面した。タイプ 'SKError.Code'で '失敗'の列挙型が見つかりません
extension ViewController {
func alertWithTitle(title: String, message : String) -> UIAlertController {
let alert = UIAlertController(title: title, message: message, preferredStyle: .alert)
alert.addAction(UIAlertAction(title: "OK", style: .cancel, handler: nil))
return alert
}
func showAlert(alert : UIAlertController) {
guard let _ = self.presentedViewController else {
self.present(alert, animated: true, completion: nil)
return
}
}
func alertForProductRetrievalInfo(result : RetrieveResults) -> UIAlertController {
if let product = result.retrievedProducts.first {
let priceString = product.localizedPrice!
return alertWithTitle(title: product.localizedTitle, message: "\(product.localizedDescription) - \(priceString)")
}
else if let ivalidProductID = result.invalidProductIDs.first {
return alertWithTitle(title: "Could not retrieve product info", message: "Invalid product identifier: \(ivalidProductID)")
}
else {
let errorString = result.error?.localizedDescription ?? "Unknown Error. Please Contact Support"
return alertWithTitle(title: "Could not retreive product info", message: errorString)
}
}
func alertForPurchaseResult(result : PurchaseResult) -> UIAlertController {
switch result {
case .success(let product):
print("Purchase Succesful: \(product.productId)")
/////////////////////////////////////////////////////////////////////////////////////
return alertWithTitle(title: "Thank you for your kind donation!", message: "Purchase completed")
case .error(let error):
print("Purchase Failed: \(error)")
switch error.code {
case .failed(let error):
if (error as NSError).domain == SKErrorDomain {
return alertWithTitle(title: "Purchase Failed", message: "Check your internet connection or try again later.")
}
else {
return alertWithTitle(title: "Purchase Failed", message: "Unkown Error. Please Contact Support")
}
case .invalidProductID(let productID):
return alertWithTitle(title: "Purchase Failed", message: "\(productID) is not a valid product identifier")
case .noProductIdentifier:
return alertWithTitle(title: "Purchase Failed", message: "Product not found")
case .paymentNotAllowed:
return alertWithTitle(title: "Purchase Failed", message: "You are not allowed to make payments")
}
}
}
これらの私が取得していますエラーがされています
「のEnumの場合は、タイプには見られない 『失敗』 『SKError.Code』
」列挙型ケース 『invalidProductID』タイプでは見られない「SKError .CODE
「列挙型ケース 『noProductIdentifier』タイプでは見られない 『SKError.Code』
私は、彼らはそれか何かを更新して、新しいケースがあるので、私はこれらのエラーを取得します知っているが、私はSではありませんよそれをどのように変換するのか、どちらを使うのか?
私はお詫びします、私は今本当に混乱しています!すべての助けが大変ありがとう!