iMessage:仅具有 Google/Analytics Pod 依赖性会导致 _NSXPCDistantObject 异常
iMessage: Merely having the Google/Analytics Pod dependency causes a _NSXPCDistantObject exception
我有一个 iOS 9+ 项目,它同时使用 Google Analytics 和 Firebase for Analytics。
这个项目还有一个 iMessage 扩展。该扩展针对 iOS 10.0
如果我像这样在我的 pod 文件中保留 GA Pods:
pod 'Google/Analytics'
pod 'GoogleIDFASupport'
然后我在启动第一个控制器(MSMessagesAppViewController 的子类)时遇到了常见的、可怕的异常:
**[_NSXPCDistantObject _remoteViewDidBecomeReadyForDisplay]: unrecognized selector sent to instance**
此错误发生在系统内部,没有堆栈跟踪可返回我的任何代码。
另外:我已经注释掉了所有 GA 代码,包括日志记录、配置和初始化。我只有 GA Pods 链接到目标,甚至没有使用。异常仍然存在。
现在,如果我注释掉 GA Pods,一切正常,第一个控制器加载。
我的 GA 版本被 Cocoa 提取Pods:
Using GoogleAnalytics (3.17.0)
Using GoogleIDFASupport (3.14.0)
所以我面临一个选择:花更多时间寻找可以与 iMessage 扩展一起使用的 GA 版本,或者将我的系统中使用 GA 的部分迁移为使用 Firebase Analytics。
您可以使用全新的空白 iMessage 目标重现此问题,该目标启动 Hello World 主屏幕,并向其中添加 GA Pod。
GA 是否试图挂钩 UI 中不存在的内容?
对解决方案有什么建议吗?
问题出在 pod 本身; Google
已弃用。变化
pod 'Google/Analytics'
至
pod 'GoogleAnalytics'
我有一个 iOS 9+ 项目,它同时使用 Google Analytics 和 Firebase for Analytics。
这个项目还有一个 iMessage 扩展。该扩展针对 iOS 10.0
如果我像这样在我的 pod 文件中保留 GA Pods:
pod 'Google/Analytics'
pod 'GoogleIDFASupport'
然后我在启动第一个控制器(MSMessagesAppViewController 的子类)时遇到了常见的、可怕的异常:
**[_NSXPCDistantObject _remoteViewDidBecomeReadyForDisplay]: unrecognized selector sent to instance**
此错误发生在系统内部,没有堆栈跟踪可返回我的任何代码。
另外:我已经注释掉了所有 GA 代码,包括日志记录、配置和初始化。我只有 GA Pods 链接到目标,甚至没有使用。异常仍然存在。
现在,如果我注释掉 GA Pods,一切正常,第一个控制器加载。
我的 GA 版本被 Cocoa 提取Pods:
Using GoogleAnalytics (3.17.0)
Using GoogleIDFASupport (3.14.0)
所以我面临一个选择:花更多时间寻找可以与 iMessage 扩展一起使用的 GA 版本,或者将我的系统中使用 GA 的部分迁移为使用 Firebase Analytics。
您可以使用全新的空白 iMessage 目标重现此问题,该目标启动 Hello World 主屏幕,并向其中添加 GA Pod。
GA 是否试图挂钩 UI 中不存在的内容?
对解决方案有什么建议吗?
问题出在 pod 本身; Google
已弃用。变化
pod 'Google/Analytics'
至
pod 'GoogleAnalytics'