ios - watchOS 6 WKInterfaceImage 在释放时崩溃
问题描述
从 watchOS 6 SDK 的第一个测试版开始,如果使用 watchOS 6.0 SDK 编译,我的应用程序开始崩溃。watchOS 6.1 不会出现这些问题,并且在模拟器中更常见。现在我已经能够确定问题所在:
我有一个WKInterfaceImage
使用一系列图像显示动画的微调器。如果我有一个WKInterfaceController
显示这样一个微调器的新推送,它将在视图被关闭时崩溃。在内部使用SPInterfaceImageView
它似乎被释放了两次。
这是 Xcode 日志消息:
-[SPInterfaceImageView release]: message sent to deallocated instance 0x3971ed60
有没有人遇到过同样的问题?我猜这是 watchOS SDK 中的一个错误。
我不能提供任何源代码,因为这只是通过使用 Storyboards 发生的。我的开发语言是 Swift。
亲切的问候
亚历山大海尼希
解决方案
好吧,在我问了这个问题之后,我终于发现了导致这个问题的原因!
如果您的 watchOS 应用程序使用动画图像,例如我在问题中描述的微调器,则需要在 watchOS 6 SDK被解除image.stopAnimating()
之前调用。WKInterfaceController
这可以在didDeactivate()
方法中或在图像视图被关闭时完成。仅仅显示隐藏图像视图是不够的!当图像视图具有固定大小时,它也有帮助。
我希望这可以帮助任何收到这些错误消息的人:
EXC_BAD_INSTRUCTION
在_UIImageContentContextualEffect .cxx_destruct
堆栈跟踪
或上面提到的 -[SPInterfaceImageView release]: message sent to deallocated instance
推荐阅读
- python-3.x - Fashion mnist 数据上的 tf.data 管道
- dns - 如何处理对 DNS 服务器的数百万次查询?
- css - 通过 touchstart 和 touchmove 事件选择多个表格单元格在移动设备中不起作用
- npm - pnpm 使用旧版本的节点
- python - 用于等边三角形检测的霍夫变换
- c# - 请求未经身份验证时跳过授权 ASP.NET Core
- php - HTML调整表格宽度没有任何效果
- python - python,矩阵转置,奇数行反转
- python - CICD 和 Dockerfile
- react-native - 如何在屏幕上显示从相机拍摄的图像