我尝试模拟我在 Xcode 9 中创建的一个非常非常简单的应用程序。我尝试在装有 iOS 11.2 的 iPhone6 的 iOS 模拟器中模拟它。我还测试了具有相同结果的其他设备。
在真实设备上,该应用程序按预期运行。但是在模拟器上它没有。
我希望在我点击按钮后该按钮会变成橙色。并且表情符号应该消失。相反,它变成了一些奇怪的“阴影”外观。如果我等待,按钮有时会在大约 30 秒后将其背景变为橙色。
我录了一张动图,来说明问题。
http://www.giphy.com/gifs/l4pSUuBtN7aBVvbVe
更新:
这是另一个 GIF:http://www.giphy.com/gifs/26DNe5B0vxIO6pHiw 只要我向下拖动信息中心,按钮就会刷新。
开发机器:Mac mini 2011, i5, SSD, 8GB RAM, high Sierra
希望有人能帮助我。
更新:15.02.18 该问题仅出现在 iOS 10 及更高版本中。 使用 iOS 版本 9.0 没有问题。预计没有任何表情符号......
与此同时,我已经向苹果提交了错误报告。但我认为对此不会有任何回应。
看起来其他人也有同样的问题:https://forums.developer.apple.com/thread/96511
最佳答案
iOS 13 更新:为所有 iOS 13 或更高版本的设备使用硬件 > 切换通话中状态栏
选项。所有设备的事件指示器都消失了。幸运的是,通话状态栏不再改变布局大小。
--
我终于找到了解决方法!
对于没有缺口的模拟器,在启动应用程序时设置:
[UIApplication sharedApplication].networkActivityIndicatorVisible = YES;
swift 4.1:
UIApplication.shared.isNetworkActivityIndicatorVisible = true
永远不要将其设置回NO
。这将在状态栏中显示小加载指示器,这将使模拟器持续处于事件状态并解决您的问题。
只是不要忘记确保您不会在生产配置中使用它。
状态栏中带有缺口的模拟器 (iPhone X) 不显示事件指示器,但您可以使用“硬件”>“切换通话中状态栏”,因为通话中图标是动画的,并且还会保持屏幕积极的。
关于iOS 模拟器无法正确刷新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48773526/