未知 class 名称 PKPaymentAuthorizationViewControllerDelegate

Unknown class name PKPaymentAuthorizationViewControllerDelegate

Xcode错误截图:

工作环境:Xcode7.2,iOS9.0,MacOSX 10.11.3

我自己开发了 Table View Controller 来与 Apple Pay 交互,我从 Apple 复制了示例代码。

在我的 PaymentTableViewController.swift:

import UIKit
import PassKit
import Contacts

class PaymentTableViewController: UITableViewController, PKPaymentAuthorizationViewControllerDelegate {
    ...
}

但是随后因为它被自动编译成 Objective-C 到 "Abletive(My project name)-Swift.h":

SWIFT_CLASS("_TtC8Abletive26PaymentTableViewController")
@interface PaymentTableViewController : UITableViewController <PKPaymentAuthorizationViewControllerDelegate>

现在应该是正确的

但它说 Unknown class name PKPaymentAuthorizationViewControllerDelegate and Unknown type name PKPaymentAuthorizationStatus instead in the Abletive-Swift.h 当我尝试编译 运行 时,显然这是因为 Objective-C 兼容性,对吗?因为 Swift 代码中没有任何错误。

我的项目目前是Objective-C和Swift的一半。

将此行添加到您的 BridgingHeader.h 文件

#import <PassKit/PassKit.h>

如果您在 "YourProjectName-Swift.h" 中遇到更多错误,请查找导致错误的 类 框架,并在 BridgingHeader.h 中添加导入,例如

#import <FrameworkInWhichIsClass/FrameworkInWhichIsClass.h>