未知类型名称'SKPaymentDiscount'。 FBSDKCoreKit

问题描述 投票:0回答:1

在我的[[Swift 3 iOS应用程序中为iOS facebook-ios-sdk构建Facebook sdk时遇到问题。

我最近将我在iOS应用程序中使用的FBSDKCorekitFBSDKLoginkit Pod从版本[[4.30.0更新到了[[5.13.1]

我正在使用针对iOS 10.2的XCode 9.3.1。使用XCode构建应用程序时,出现以下问题:未知类型名称'SKPaymentDiscount';您是说'SKProductDiscount'吗?

当编译器尝试构建以下文件Core/FBSDKPaymentObserver.m时,引发此错误。参见以下部分。

... #if !TARGET_OS_TV #if __IPHONE_OS_VERSION_MAX_ALLOWED > __IPHONE_11_1 #if __IPHONE_OS_VERSION_MAX_ALLOWED > __IPHONE_11_4 #if __IPHONE_OS_VERSION_MAX_ALLOWED > __IPHONE_12_1 // promotional offer starting from iOS 12.2 if (@available(iOS 12.2, *)) { SKPaymentDiscount *paymentDiscount = transaction.payment.paymentDiscount; if (paymentDiscount) { NSArray<SKProductDiscount *> *discounts = product.discounts; for (SKProductDiscount *discount in discounts) { if (discount.paymentMode == SKProductDiscountPaymentModeFreeTrial && [paymentDiscount.identifier isEqualToString:discount.identifier]) { return YES; } } } } #endif ... [经过研究后,我了解到,SKPaymentDiscount仅在iOS sdk 12.2中引入。由于我使用的是XCode 9.3.1,因此最新的可用iOS SDK为11.3,但条件编译器表达式为#if __IPHONE_OS_VERSION_MAX_ALLOWED > __IPHONE_12_1应该确保编译器不会构建先前的代码段。

但是似乎并非如此,我遇到了构建错误。

未知类型名称'SKPaymentDiscount';您是说'SKProductDiscount'吗?

我已经尝试安装支持iOS sdk 12.2的XCode 10.0,但是出现了相同的错误。请指教。

ios xcode facebook swift3 facebook-ios-sdk
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.