iOS模拟器无法正确刷新
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS模拟器无法正确刷新相关的知识,希望对你有一定的参考价值。
我尝试模拟一个非常简单的应用程序,它是我在Xcode 9中创建的。我尝试在带有ios 11.2的iPhone6中的iOS模拟器中进行模拟。我还测试了其他具有相同结果的设备。
在真实设备上,该应用程序按预期工作。但在模拟器上却没有。
我希望,点击它后按钮会变成橙色。表情符号应该消失。相反,它变成了一些奇怪的“阴影”外观。如果我等待,那么按钮有时会在大约30秒后将其背景变为橙色。
我已经录制了一个gif来说明问题。
http://www.giphy.com/gifs/l4pSUuBtN7aBVvbVe
更新:
这是另一个GIF:http://www.giphy.com/gifs/26DNe5B0vxIO6pHiw只要我拖下信息中心,按钮就会刷新。
开发机器:Mac mini 2011,i5,SSD,8GB RAM,高Sierra
希望可以有人帮帮我。
更新:15.02.18问题仅出现在iOS版本从10及更高版本开始。使用iOS版本9.0,没有问题。期待没有任何表情符号......
与此同时,我已向苹果提交了一份错误报告。但我认为对此没有任何回应。
看起来其他人有同样的问题:https://forums.developer.apple.com/thread/96511
我终于找到了一个有效的解决方法!
对于没有缺口的模拟器,请在启动应用程序时进行设置:
[UIApplication sharedApplication].networkActivityIndicatorVisible = YES;
Swift 4.1:
UIApplication.shared.isNetworkActivityIndicatorVisible = true
并且永远不会把它归还给NO
。这将显示状态栏中的小负载指示器,这将使模拟器始终处于活动状态并将解决您的问题。
只是不要忘记确保您不会在生产配置中使用它。
状态栏(iPhone X)中具有缺口的模拟器不显示活动指示器,但您可以使用硬件>切换通话中状态栏,因为通话中图标是动画,并且还会保持屏幕处于活动状态。
找到一个解决方法(在查看您的Apple论坛链接后):https://forums.developer.apple.com/thread/88446
在终端:
- 如果系统中有独立的GPU(例如:带有Radeon HD 6750M的MBP 15“):
defaults write com.apple.CoreSimulator.IndigoFramebufferServices FramebufferPerformanceHint 2
- 如果系统中没有独立的GPU(例如:MBP 13“或MacMini)
defaults write com.apple.CoreSimulator.IndigoFramebufferServices FramebufferEmulationHint 1
当然,请尝试两种选择。第一个选项帮助了我(虽然我有MBP 13“2011年初)。
我有同样的模拟器问题,没有更新数据库的更改。您可能遇到缓存问题,模拟器可能需要重置。
尝试退出iPhone模拟器,然后在终端中运行xcrun:
xcrun simctl erase all
以上是关于iOS模拟器无法正确刷新的主要内容,如果未能解决你的问题,请参考以下文章
iOS 模拟器无法正确滚动(M1 + React Native 项目)
无法使用 ArrayObjectAdaptor 的 clear() 和 addAll() 刷新/更新浏览片段
无法从 ViewPager 中的另一个片段刷新/更新片段中的列表视图