3

私は、Rails セットアップ アプリケーションに似たコマンド ライン ユーティリティを作成するというアイデアを思いつきました。Xcode プロジェクトを自動的に作成し、単体テストをセットアップし、Frank をセットアップし、最もよく使用される Cocoapod をインストールし、プロジェクト構造をセットアップします。

現時点ではそのようなものはありません。私はそれをオープンソースにしたいと思っています。昨日ここで他の質問に苦労しましたが、最新のものは何も見つかりませんでした。

Pod を含むプロジェクトを生成するために CocoaPods で使用される XcodeProj を使用てアイデアを思いつきました。したがって、それは不可能ではないはずです。XcodeProjectも見つけましたが、これは読み取り専用のようです。

Xcodeproj gem は非常に文書化されていないため、誰か (おそらく Cocoapods 開発者) がどこから始めるべきかのヒントを教えてくれませんか?

4

1 に答える 1

15

Xcodeproj の使用を開始するのに最適な場所は、Xcodeproj::Projectクラスです。

プロジェクトを開くと、Xcodeproj API により、すべての既知の属性を簡単に編集できます。ただし、次の概念に留意する必要があります。

  • 属性が文字列の場合、直接編集できます。
  • 属性にオブジェクトが格納されている場合、プロジェクトに新しいオブジェクトを作成するように依頼する必要があります。これにより、UUID を割り当てる機会が得られます。
  • オブジェクトのリストを格納する属性を編集している場合は、ObjectListによって公開されているメソッドを使用することだけが安全です。
  • Xcodeproj は、属性に値を割り当てるときに型チェックを実行します。

次の軽くテストされたコードは、Class.h および Class.m ファイルをプロジェクトに追加し、Class.m が含まれていることを確認して、iOS 6.0 の展開ターゲットの App という名前のターゲットを持つ Test という名前の新しいプロジェクトを作成することから始めるのに役立ちます。ターゲットで。

require 'xcodeproj'

proj = Xcodeproj::Project.new
app_target = proj.new_target(:application, 'App', :ios, '6.0')
header_ref = proj.main_group.new_file('./Class.h')
implm_ref = proj.main_group.new_file('./Class.m')
app_target.add_file_references([implm_ref])

proj.save_as('Test.xcodeproj')

問題を開き、ドキュメントのどの部分がわかりにくいかをお知らせください。より多くのカルマについては、プルリクエストを使用してください。

于 2013-04-08T13:22:43.633 に答える