iOS模拟器无法正确刷新

问题描述 投票:4回答:3

我尝试模拟一个非常简单的应用程序,它是我在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

ios xcode button simulator
3个回答
5
投票

我终于找到了一个有效的解决方法!

对于没有缺口的模拟器,请在启动应用程序时进行设置:

[UIApplication sharedApplication].networkActivityIndicatorVisible = YES;

Swift 4.1:

UIApplication.shared.isNetworkActivityIndicatorVisible = true

并且永远不会把它归还给NO。这将显示状态栏中的小负载指示器,这将使模拟器始终处于活动状态并将解决您的问题。

只是不要忘记确保您不会在生产配置中使用它。

状态栏(iPhone X)中具有缺口的模拟器不显示活动指示器,但您可以使用硬件>切换通话中状态栏,因为通话中图标是动画,并且还会保持屏幕处于活动状态。


1
投票

找到一个解决方法(在查看您的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年初)。


1
投票

我有同样的模拟器问题,没有更新数据库的更改。您可能遇到缓存问题,模拟器可能需要重置。

尝试退出iPhone模拟器,然后在终端中运行xcrun:

xcrun simctl erase all
© www.soinside.com 2019 - 2024. All rights reserved.