def architectures
      architectures = Hash.new

      stdin, stdout, stderr = Open3.popen3('dwarfdump', '-u', @dsym)
      stdout.each_line do |line|
        if line =~ /^UUID: ([0-9A-F\-]+) \((.+?)\)/
          architectures[$2] = $1
        end
      end

      return architectures
    end
def architectures
      architectures = Hash.new

      stdin, stdout, stderr = Open3.popen3('dwarfdump', '-u', @dsym)
      stdout.each_line do |line|
        if line =~ /^UUID: ([0-9A-F\-]+) \((.+?)\)/
          architectures[$2] = $1
        end
      end

      return architectures
    end
Creates a new symbolicator for a given dSYM file.

 @param [String] dsym The path to a dSYM file (or DWARF file within).
 @param [String] project_dir The path to a project root that will be removed
   from file paths underneath that root.
 @return [Hash<String, String>] A hash mapping architectures (such as "i386")
   to the UUID for the symbolication of that architecture.