lib/run_loop/device.rb in run_loop-2.5.2 vs lib/run_loop/device.rb in run_loop-2.5.3

- old
+ new

@@ -289,14 +289,25 @@ }.call end # @!visibility private def simulator_preferences_plist_path - @simulator_preferences_plist_path ||= lambda { - return nil if physical_device? - File.join(simulator_root_dir, 'data/Library/Preferences/com.apple.Preferences.plist') - }.call + return nil if physical_device? + + + directory = File.join(simulator_root_dir, "data", "Library", "Preferences") + + if !File.exist?(directory) + FileUtils.mkdir_p(directory) + end + + plist = File.join(directory, "com.apple.Preferences.plist") + + if !File.exist?(plist) + pbuddy.create_plist(plist) + end + plist end # @!visibility private def simulator_log_file_path @simulator_log_file_path ||= lambda { @@ -530,10 +541,20 @@ end running_apps end + def simulator_software_keyboard_will_show? + plist = simulator_preferences_plist_path + pbuddy.plist_read("AutomaticMinimizationEnabled", plist).to_i == 0 + end + + def simulator_ensure_software_keyboard_will_show + plist = simulator_preferences_plist_path + pbuddy.plist_set("AutomaticMinimizationEnabled", "integer", 0, plist) + end + =begin PRIVATE METHODS =end private @@ -612,10 +633,12 @@ # @!visibility private def simulator_required_child_processes @simulator_required_child_processes ||= begin required = ["backboardd", "installd", "SimulatorBridge", "SpringBoard"] - if xcode.version_gte_8? && version.major > 8 + if xcode.version_gte_90? + required << "filecoordinationd" + elsif xcode.version_gte_8? && version.major > 8 required << "medialibraryd" end if simulator_is_ipad? && version.major == 9 required << "com.apple.audio.SystemSoundServer-iOS-Simulator"