code: def extract_string_pairs_in_ib_file(file_path, special_ui_components_prefix):
      
      try:
          results = []
          xmldoc = minidom.parse(file_path)
  
          element_name_to_add_func = {'label': add_string_pairs_from_label_element,
                                      'button': add_string_pairs_from_button_element,
                                      'textField': add_string_pairs_from_text_field_element,
                                      'textView': add_string_pairs_from_text_view_element}
  
          for element_name in element_name_to_add_func:
              add_func = element_name_to_add_func[element_name]
              elements = xmldoc.getElementsByTagName(element_name)
              for element in elements:
                  add_func(file_path, results, element, special_ui_components_prefix)
  
          # Find strings of format JTL('Key Name', 'Key Comment') and add them to the results
          jtl_brackets_find_results = re.findall(JTL_REGEX, open(file_path).read())
          unescaped_jtl_brackets_find_results = [(unescape(x), unescape(y)) for (x, y) in jtl_brackets_find_results]
          results += unescaped_jtl_brackets_find_results
  
          if len(results) > 0:
              results = [(None, os.path.basename(file_path))] + results
          return results
  
      except Exception, e:
          logging.warn("ERROR: Error processing %s (%s: %s)", file_path, type(e), str(e))
          return []
docs: Extract the strings pairs (key and comment) from a xib file.
  
      Args:
          file_path (str): The path to the xib file.
          special_ui_components_prefix (str):
              If not None, extraction will not warn about internationalized UI components with this class prefix.
  
      Returns:
          list: List of tuples representing the string pairs.