对我来说,这看起来像是NSProgressIndicator或Xcode 9中的一个错误:
- 在 macOS 10.12.6 中运行 Xcode 9 Beta 1 或 Beta 4。
- 文件>新项目,macOS,Cocoa应用程序,Objective-C或Swift,ARC与否,没有故事板,最新的(10.13(SDK。
- 在应用目标的环境中,设置
CA_ASSERT_MAIN_THREAD_TRANSACTIONS=1
。 - 在应用程序委托中,添加 IBOutlet
progressIndicator
。 - 在笔尖中,将 NSProgressT指示器添加到窗口,连接到该插座。 将复选框"不确定"保持打开状态。
- 在
-applicationDidFinishLaunching
中,拨打-startAnimation:
progressIndicator
。 - 构建并运行。
预期成果:
进度指示器应该愉快地显示不确定的进度,因为我在主线程上做了所有事情。
实际结果:
应用崩溃,引用CA_ASSERT_MAIN_THREAD_TRANSACTIONS,当-startAnimation:
被称为。
你可以在一个很小的演示项目中看到这一点。
我做错了什么吗? 我的预期结果不正确吗?
附言 我在Apple的开发者论坛上问过这个问题,但在2个工作日后仍在等待版主批准,所以我删除了它并来到这里,而不是:(
更新:仍然缺乏解释,我提交了Apple Bug 33593575。
这是NSProgressIndicator中的一个错误。您的错误报告(感谢您提交!(被标记为早期错误的副本,该错误已在macOS 10.13中解决。