云套件订阅(推送通知)与开发环境工作正常,但当我尝试使用测试飞行与生产环境不工作
通过TestFlight构建,云套件订阅不能与生产环境一起工作。一旦应用程序发布到Appstore,订阅工作
虽然这个答案已经很晚了,但我还是把它贴出来,以防其他人还能找到这里。我也遇到过同样的问题。CloudKit
订阅通知在开发环境中运行良好,当我通过TestFlight
分发应用程序时,它似乎完全停止了。
经过一些调试,我发现application:didReceiveRemoteNotification
实际上像预期的那样发射。问题是,我在用户默认值中缓存了serverChangeToken
。serverChangeToken
是开发环境的变更令牌。当我切换到prod(通过TestFlight
),令牌不再有效…从Prod的角度来看,这是很遥远的未来。因此,我的fetchNotificationChangesOperation
与更改令牌没有找到比令牌更新的结果。
对我来说,修复,因为这个应用程序仍在开发中,是检查我在哪个环境,并在用户默认值中保存单独的Dev和Prod更改令牌。
我的场景只会影响开发设备;任何直接从商店安装的用户都只能看到Prod版本的更改令牌。