在 SwiftyStoreKit 中使用未解析的标识符 "success"

Use of unresolved identifier "success" with SwiftyStoreKit

我正在将 myp 项目从 Swift 2.3 升级到 3。

示例代码来自 SwiftyStoreKit 的 Github:

.SwiftyStoreKit.purchaseProduct("com.musevisions.SwiftyStoreKit.Purchase1", quantity: 1, atomically: true) { result in
    switch result {
    case .success(let purchase):

我的代码:

func purchase(_ productId : String) {
        NetworkActivityIndicatorManager.NetworkOperationStarted()
        SwiftyStoreKit.purchaseProduct(productId, completion: {
            result in
            NetworkActivityIndicatorManager.networkOperationFinished()
            switch result
            {
            case success(let purchase):

(数量和原子有默认值):

public class func purchaseProduct(_ productId: String, quantity: Int = 1, atomically: Bool = true, applicationUsername: String = "", completion: @escaping (PurchaseResult) -> Void) {

为什么我会在这里出错?

result 是枚举 PurchaseResult 的一个实例。因此,在您的 switch 中,您在成功之前缺少 .PurchaseResult.

更改此行

case success(let purchase):

case .success(let purchase):

case PurchaseResult.success(let purchase):