Class: Snapshot::Fixes::HardwareKeyboardFix
- Inherits:
-
Object
- Object
- Snapshot::Fixes::HardwareKeyboardFix
- Defined in:
- snapshot/lib/snapshot/fixes/hardware_keyboard_fix.rb
Overview
Having “Connect Hardware Keyboard” enabled causes issues with entering text in secure textfields Fixes github.com/fastlane/fastlane/issues/2494
Class Method Summary collapse
Class Method Details
.patch ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'snapshot/lib/snapshot/fixes/hardware_keyboard_fix.rb', line 9 def self.patch UI.verbose("Patching simulator to work with secure text fields") Helper.backticks("defaults write com.apple.iphonesimulator ConnectHardwareKeyboard 0", print: FastlaneCore::Globals.verbose?) # For > Xcode 9 # https://stackoverflow.com/questions/38010494/is-it-possible-to-toggle-software-keyboard-via-the-code-in-ui-test/47820883#47820883 Helper.backticks("/usr/libexec/PlistBuddy "\ "-c \"Print :DevicePreferences\" ~/Library/Preferences/com.apple.iphonesimulator.plist | "\ "perl -lne 'print $1 if /^ (\\S*) =/' | while read -r a; do /usr/libexec/PlistBuddy "\ "-c \"Set :DevicePreferences:$a:ConnectHardwareKeyboard false\" "\ "~/Library/Preferences/com.apple.iphonesimulator.plist "\ "|| /usr/libexec/PlistBuddy "\ "-c \"Add :DevicePreferences:$a:ConnectHardwareKeyboard bool false\" "\ "~/Library/Preferences/com.apple.iphonesimulator.plist; done", print: FastlaneCore::Globals.verbose?) end |