lib/run_loop/device.rb in run_loop-2.5.3 vs lib/run_loop/device.rb in run_loop-2.5.4
- old
+ new
@@ -273,83 +273,48 @@
@state = simctl.simulator_state_as_string(self)
end
# @!visibility private
def simulator_root_dir
- @simulator_root_dir ||= lambda {
- return nil if physical_device?
- File.join(CORE_SIMULATOR_DEVICE_DIR, udid)
- }.call
+ return nil if physical_device?
+ @simulator_root_dir ||= File.join(CORE_SIMULATOR_DEVICE_DIR, udid)
end
# @!visibility private
def simulator_accessibility_plist_path
- @simulator_accessibility_plist_path ||= lambda {
- return nil if physical_device?
- File.join(simulator_root_dir, 'data/Library/Preferences/com.apple.Accessibility.plist')
- }.call
+ return nil if physical_device?
+
+ directory = File.join(simulator_root_dir, "data", "Library", "Preferences")
+ pbuddy.ensure_plist(directory, "com.apple.Accessibility.plist")
end
# @!visibility private
def simulator_preferences_plist_path
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
+ pbuddy.ensure_plist(directory, "com.apple.Preferences.plist")
end
# @!visibility private
def simulator_log_file_path
- @simulator_log_file_path ||= lambda {
- return nil if physical_device?
- File.join(CORE_SIMULATOR_LOGS_DIR, udid, 'system.log')
- }.call
+ return nil if physical_device?
+ @simulator_log_file_path ||= File.join(CORE_SIMULATOR_LOGS_DIR, udid,
+ 'system.log')
end
# @!visibility private
def simulator_device_plist
- @simulator_device_plist ||= lambda do
- return nil if physical_device?
- File.join(simulator_root_dir, 'device.plist')
- end.call
+ return nil if physical_device?
+ pbuddy.ensure_plist(simulator_root_dir, "device.plist")
end
# @!visibility private
- def simulator_global_preferences_path(timeout=10)
+ def simulator_global_preferences_path
return nil if physical_device?
-
- path = File.join(simulator_root_dir,
- "data/Library/Preferences/.GlobalPreferences.plist")
-
- return path if File.exist?(path)
-
- start = Time.now
- while !File.exist?(path) && (start + timeout) < Time.now
- sleep(1.0)
- end
-
- return path if File.exist?(path)
-
- raise(RuntimeError, %Q[
-Timed out waiting for .GlobalPreferences.plist after #{Time.now - start} seconds.
-
-File does not exist at path:
-
-#{path}
-
-])
+ directory = File.join(simulator_root_dir, "data", "Library", "Preferences")
+ pbuddy.ensure_plist(directory, ".GlobalPreferences.plist")
end
# @!visibility private
# In megabytes
def simulator_size_on_disk
@@ -472,28 +437,17 @@
"The language code '#{lang_code}' is not valid for this device"
end
global_plist = simulator_global_preferences_path
- cmd = [
- "/usr/libexec/PlistBuddy",
- "-c",
- "Add :AppleLanguages:0 string '#{lang_code}'",
- global_plist
- ]
-
- # RunLoop::PlistBuddy cannot add items to arrays.
- hash = run_shell_command(cmd, {:log_cmd => true})
-
- if hash[:exit_status] != 0
+ begin
+ pbuddy.unshift_array("AppleLanguages", "string", lang_code,
+ global_plist)
+ rescue RuntimeError => e
raise RuntimeError, %Q[
-Could not update the Simulator languages because this command:
+Could not update the Simulator languages.
-#{cmd.join(" ")}
-
-failed with this output:
-
-#{hash[:out]}
+#{e.message}
]
end
simulator_languages