SKError在xCode 8和Swift 3中,cast to 似乎对我有用…
guard let error = transaction.error as? SKError else {return} switch error.pre { // https://developer.apple.com/reference/storekit/skerror.pre case .unknown: break case .paymentCancelled: break case .clientInvalid: break case .paymentInvalid: break case .paymentNotAllowed: break case .cloudServiceNetworkConnectionFailed: break case .cloudServicePermissionDenied: break case .storeProductNotAvailable: break }不需要
rawValue。



