Class: Snapshot::Fixes::SimulatorZoomFix

Inherits:
Object
  • Object
show all
Defined in:
lib/snapshot/fixes/simulator_zoom_fix.rb

Overview

This fix is needed due to a bug in UI Tests that creates invalid screenshots when the simulator is not scaled to a 100% Issue: github.com/fastlane/snapshot/issues/249 Radar: openradar.appspot.com/radar?id=6127019184095232

Class Method Summary collapse

Class Method Details

.config_pathObject



25
26
27
# File 'lib/snapshot/fixes/simulator_zoom_fix.rb', line 25

def self.config_path
  File.join(File.expand_path("~"), "Library", "Preferences", "com.apple.iphonesimulator.plist")
end

.patchObject



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/snapshot/fixes/simulator_zoom_fix.rb', line 9

def self.patch
  # First we need to kill the simulator
  Snapshot.kill_simulator

  Helper.log.debug "Patching '#{config_path}' to scale simulator to 100%"

  FastlaneCore::Simulator.all.each do |simulator|
    simulator_name = simulator.name.tr("\s", "-")
    key = "SimulatorWindowLastScale-com.apple.CoreSimulator.SimDeviceType.#{simulator_name}"

    command = "defaults write '#{config_path}' '#{key}' '1.0'"
    puts command.yellow if $debug
    `#{command}`
  end
end