Sha256: 22fb3c9374a63d995711e82c6b5132d14269340a317287691b471b4ddc852c30

Contents?: true

Size: 882 Bytes

Versions: 7

Compression:

Stored size: 882 Bytes

Contents

require 'shellwords'

module SimCtl
  class Command
    module IO
      # Saves a screenshot to a file
      #
      # @param device [SimCtl::Device] the device the screenshot should be taken from
      # @param file Path where the screenshot should be saved to
      # @param opts Optional hash that supports two keys:
      # * type: Can be png, tiff, bmp, gif, jpeg (default is png)
      # * display: Can be main or tv for iOS, tv for tvOS and main for watchOS
      # @return [void]
      def screenshot(device, file, opts = {})
        unless Xcode::Version.gte? '8.2'
          raise UnsupportedCommandError, 'Needs at least Xcode 8.2'
        end
        optional_args = opts.map { |k, v| "--#{k}=#{Shellwords.shellescape(v)}" }
        Executor.execute(command_for('io', device.udid, 'screenshot', *optional_args, Shellwords.shellescape(file)))
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
simctl-1.6.10 lib/simctl/command/io.rb
simctl-1.6.8 lib/simctl/command/io.rb
simctl-1.6.7 lib/simctl/command/io.rb
simctl-1.6.6 lib/simctl/command/io.rb
simctl-1.6.5 lib/simctl/command/io.rb
simctl-1.6.4 lib/simctl/command/io.rb
simctl-1.6.3 lib/simctl/command/io.rb