code: def add_run_script(self, script, target_name=None, insert_before_compile=False):
          
          for target in self.objects.get_targets(target_name):
              shell = PBXShellScriptBuildPhase.create(script)
  
              self.objects[shell.get_id()] = shell
              target.add_build_phase(shell, 0 if insert_before_compile else None)
docs: Adds a run script phase into the given target, optionally before compilation phase
          :param script: Script to be inserted on the run script
          :param target_name: Target name or list of target names to add the run script to or None for every target
          :param insert_before_compile: Insert the run script phase before the compilation of the source files. By default,
          it's added at the end.
          :return: