2017-06-27 9 views
2

私は自分のプロジェクトでプレイグラウンドを実行しようとしています。プロジェクトには緊密に結合された数千のファイルが含まれているという問題があります。私は遊び場でアプリのソースを利用するためにインポートできるココアタッチフレームワークを作成しました。唯一の問題は、各ソースファイルをクリックしてターゲットに追加するには数時間かかることです。複数のファイルを選択する場合でも。 (グループをまたいで選択すると、[ターゲットに追加]オプションは使用できません)。すべてのソースファイルをターゲットに追加するためのRubyスクリプト(xcodeproj)

Rubyのxcodeprojライブラリを使用してプログラムですべてのファイルを追加する方法はありますか?私はRubyやそのライブラリに精通しておらず、正確なコードを発見するのは非常に時間がかかるでしょう。もしそうでなければ、私のワークスペース内のすべてのファイルをXcodeのUIを通してこの新しいフレームワークに効果的に追加する方法がありますか?

ワークスペースのソース全体をフレームワークに追加することは、他の理由で実行可能な解決策ではないことが判明した場合、このワークスペースで(アプリケーションソースにアクセスできる)プレイグラウンドを稼働させる方法はありますか?

答えて

2

new_file methodのように見えます。再帰的にディレクトリ内を移動して、ターゲットにファイルを追加する方法を示しissue on GitHubがあります:

def addfiles (direc, current_group, main_target) 
    Dir.glob(direc) do |item| 
     next if item == '.' or item == '.DS_Store' 

     if File.directory?(item) 
      new_folder = File.basename(item) 
      created_group = current_group.new_group(new_folder) 
      addfiles("#{item}/*", created_group, main_target) 
     else 
     i = current_group.new_file(item) 
     if item.include? ".m" 
      main_target.add_file_references([i]) 
     end 
     end 
    end 
end 

それは完璧ではありません。ファイル名の中には、「m」拡張子を持たないものがあります。しかし、再帰を使うという基本的な考え方は健全です。

関連する問題