Cloudkit 未传送推送通知,但在架构中创建了订阅
Cloudkit PushNotifications not veing delivered, but subscription created in Schema
我按照 Hacking With Swift 指南设置推送通知,但它们没有出现在我的 phone 上。我设置了一个名为 Notifications 的新 public 区域,并且使用的是 CKQuerySubscription(因为另一个不适用于私有数据库)。查询是在模式中创建的,但在数据> 订阅中没有创建任何内容。我成功地将数据保存到区域中,并且两次创建订阅会显示错误“存在重复订阅失败”,所以我知道这是有效的。我还遵循了 cococast 网站 post 上名为“通知未到达的五个原因”的所有建议,并且我使用的是真实设备而不是物理设备。仍然没有通知。
推送通知没有到达我的设备的原因是我只使用了 1 个 iphone。您不能向创建记录的设备发送“已创建新记录”的推送通知。一旦我切换到使用模拟器制作记录,我的物理设备就开始收到推送通知。模拟器和物理设备都登录到同一个icloud帐户。
所以这个过程看起来像:
- 应用程序安装在物理设备上(登录到 iCloud)。订阅物理设备中的区域更改。
- 在模拟器上启动应用程序(登录到 iCloud)。
- 在模拟器上保存一条记录
- 推送通知将出现在物理设备上。
我按照 Hacking With Swift 指南设置推送通知,但它们没有出现在我的 phone 上。我设置了一个名为 Notifications 的新 public 区域,并且使用的是 CKQuerySubscription(因为另一个不适用于私有数据库)。查询是在模式中创建的,但在数据> 订阅中没有创建任何内容。我成功地将数据保存到区域中,并且两次创建订阅会显示错误“存在重复订阅失败”,所以我知道这是有效的。我还遵循了 cococast 网站 post 上名为“通知未到达的五个原因”的所有建议,并且我使用的是真实设备而不是物理设备。仍然没有通知。
推送通知没有到达我的设备的原因是我只使用了 1 个 iphone。您不能向创建记录的设备发送“已创建新记录”的推送通知。一旦我切换到使用模拟器制作记录,我的物理设备就开始收到推送通知。模拟器和物理设备都登录到同一个icloud帐户。
所以这个过程看起来像:
- 应用程序安装在物理设备上(登录到 iCloud)。订阅物理设备中的区域更改。
- 在模拟器上启动应用程序(登录到 iCloud)。
- 在模拟器上保存一条记录
- 推送通知将出现在物理设备上。