没有名为PKPushRegistryDelegate的类型或协议

时间:2018-01-19 08:44:26

标签: ios push-notification delegates swift-protocols pushkit

我正在向我的应用添加PushKit通知,并且偶然发现了上述错误。

我做了什么:

  1. 启用推送通知
  2. 在后台模式下启用远程通知
  3. 添加了链接框架PushKit.framework
  4. 我使用PKPushRegistryDelegate扩展了我的AppDelegate并实现了pushRegistry方法:

    @UIApplicationMain
    class AppDelegate: UIResponder, UIApplicationDelegate, PKPushRegistryDelegate {
    func pushRegistry(_ registry: PKPushRegistry, didUpdate pushCredentials: PKPushCredentials, forType type: PKPushType) {
    
    }
    .
    .
    .
    

    一切似乎都没问题但是当我构建时我得到了错误:

    No type or protocol named PKPushRegistryDelegate
    

    在这种情况下,我也试过扩展,但我得到了一个不同的错误:

    Cannot find protocol declaration for 'PKPushRegistryDelegate'
    

    我猜测有些东西丢失但找不到。谁能帮我?

    P.S。我正在使用xcode 9和swift 4

2 个答案:

答案 0 :(得分:0)

在Bridging-Header.h中导入#import,现在可以正常工作。

答案 1 :(得分:0)

在您的< string name="app_id">APP_ID FROM PLAYSTORE</string> //from strings.xml 文件中,只需在顶部添加导入,如下所示:

AppDelegate

不需要在桥接头中添加任何内容。