class Tracetool::IOS::AtosContext
Converts context to atos arguments
Constants
- DEFAULT_ARCH
If no arch specified will use `arm64`
- REQUIRED_ARGUMENTS
List of required argument names
Public Class Methods
new(ctx)
click to toggle source
# File lib/tracetool/ios/atos_context.rb, line 11 def initialize(ctx) check_arguments(ctx) @load_address = ctx.load_address @binary_path = module_binary(ctx.xarchive, ctx.module_name) @arch = ctx.arch || 'arm64' end
Public Instance Methods
to_args()
click to toggle source
# File lib/tracetool/ios/atos_context.rb, line 18 def to_args %w[-o -l -arch].zip([@binary_path, @load_address, @arch]).flatten end
Private Instance Methods
check_arguments(ctx)
click to toggle source
# File lib/tracetool/ios/atos_context.rb, line 28 def check_arguments(ctx) REQUIRED_ARGUMENTS.each do |a| ctx[a] || raise(ArgumentError, "Missing `#{a}` value") end end
module_binary(xarchive, module_name)
click to toggle source
# File lib/tracetool/ios/atos_context.rb, line 24 def module_binary(xarchive, module_name) File.join(xarchive, 'dSYMs', "#{module_name}.app.dSYM", 'Contents', 'Resources', 'DWARF', module_name) end