lib/run_loop/device.rb in run_loop-2.2.0 vs lib/run_loop/device.rb in run_loop-2.2.1
- old
+ new
@@ -339,10 +339,12 @@
# When the simulator version is >= iOS 9 and the device is an iPad another
# condition is added because simctl fails to correctly install applications;
# the app and data container exists, but Springboard does not detect them.
#
# 6. 1 and 2 must hold for 1.5 seconds.
+ #
+ # TODO needs update for Xcode 8 + iOS 10 simulators.
def simulator_wait_for_stable_state
# How long to wait between stability checks.
# Shorter than this gives false positives.
delay = 0.5
@@ -372,10 +374,12 @@
end
# iOS 9 simulators have an additional boot screen.
is_gte_ios9 = version >= RunLoop::Version.new('9.0')
- # iOS 9 iPad simulators need additional time to stabilize.
+ # iOS 9 iPad simulators need additional time to stabilize, especially
+ # to ensure that `simctl install` notifies SpringBoard that a new app
+ # has been installed.
is_ipad = simulator_is_ipad?
timeout = SIM_STABLE_STATE_OPTIONS[:timeout]
now = Time.now
poll_until = now + timeout