mar*_*and 3 macos ios swift cloudkit mac-catalyst
我有一个可运行的原生 iPhone/iPad 应用程序,我现在正尝试将其用作 Mac Catalyst 应用程序。一切似乎都在工作,除了当我在 iOS 版本上输入某些内容时,它“破坏”了 macOS 版本——我正在使用 CloudKit 和 CloudKit 订阅来监听数据库中的变化。
我把这个记录到日志中 3 次:
2020-04-25 09:58:35.612887+0300 MyApp[2871:206093] [assertion] Error acquiring assertion: <NSError: 0x600000d4cb40; domain: RBSAssertionErrorDomain; code: 2; reason: "Specified target process does not exist">
2020-04-25 09:58:35.613919+0300 MyApp[2871:206093] [assertion] Error acquiring assertion: <NSError: 0x600000d4d290; domain: RBSAssertionErrorDomain; code: 2; reason: "Specified target process does not exist">
2020-04-25 09:58:35.615102+0300 MyApp[2871:206093] [assertion] Error acquiring assertion: <NSError: 0x600000d4de00; domain: RBSAssertionErrorDomain; code: 2; reason: "Specified target process does not exist">
Run Code Online (Sandbox Code Playgroud)
这种行为真的很奇怪。macOS 版本实际上并没有崩溃,但主窗口消失了,我必须在 XCode 中重建它并再次运行它。我试过在通知流中添加断点等,但没有任何捕获,所以我真的很难过。收到通知时,不会调用任何常用的应用程序方法。同样的问题出现在调试模式下,无论是模拟器和设备,还是生产中。
真的希望得到一些指示,在哪里/如何调试这种问题。我检查了系统日志,也找不到任何东西。
小智 6
我自己刚刚遇到了这个问题,并最终想通了:您的机器上可能有多个应用程序实例(具有该捆绑 ID),并且推送通知服务正试图启动错误的二进制文件来传递通知。
由于 Catalyst 应用程序在尝试打开多个实例时会被破坏,因此此后台启动会杀死您在调试器中运行的应用程序。
就我而言,我在 /Applications 中安装了 App Store 版本的应用程序(在我开始添加 CloudKit 之前),并且在我的 Xcode 构建根目录中安装了我当前的开发二进制文件。
希望有帮助!
| 归档时间: |
|
| 查看次数: |
1696 次 |
| 最近记录: |