1

XCode iPhone プロジェクトを svn リポジトリに頻繁にアップロードして、別のマシンでビルドしています。

私の問題は、プロジェクトにリソースを追加するときに、プロジェクトに関連してリソースを追加するのを忘れることがあることです。

答えの 1 つはもっと注意することだとわかっていますが (疲れているときは簡単ではありません!)、スクリプトを実行して、ビルド時にリソース パスが相対的であることを確認し、そうでない場合は警告する方法があれば、それは素晴らしいことです。私のためのセーバー。

どうすればこれを行うことができますか?

ありがとう

クリス

4

2 に答える 2

1

プロジェクト内のすべてのファイルを選択し、それらすべてのパス タイプを一度に設定できます。これはスクリプトではありませんが、ファイルを個別に処理するよりも多くの時間を節約できます

これをスクリプト化する最善の方法は、.xcodeproj ファイルを調べることだと思います。ファイル パスはそこにリストされています。プロジェクトの名前が MyProject の場合、(Finder で [パッケージの内容を表示] を使用するか、ターミナルで通常の cd を使用して) MyProject.xcodeproj ディレクトリを開く必要があります。

ここに project.pbxproj というファイルがあります。これをエディターで開いて、書式設定を台無しにせず、ファイルを確認してください。プロジェクト内のファイルの 1 つを検索すると、Xcode がプロジェクト ファイルへの参照を保存する方法を確認できるはずです。

/* PBXFileReference セクションの開始 */ という名前のセクションを探します。ここでは、すべてのファイルが、プロジェクトに関連する場所とともに一覧表示されます。

... path = Classes/MyClass.h; sourceTree = SOURCE_ROOT

このファイルを解析できる場合は、目的を達成できるはずですが、ファイルをバックアップすることを忘れないでください。そうしないと、プロジェクトが破損する可能性があります。

于 2010-03-08T14:53:08.357 に答える
0

代わりに、プロジェクト内の何かがコミットされていないかどうかをSCMに尋ねるスクリプトを作成するとどうなるでしょうか。たとえば、このシナリオを考えてみてください

Project Root

  Codex

    Project.xcodeproj
    …

  Design

    anImage.png

Xcodeプロジェクトが置かれている場所の外にある場所(そのパスはで始まりますanImage.png)。強力なパーサーは、Xcodeがファイルを参照するすべてのバリアントをサポートして、漂遊ファイルがあるかどうかを正確に知る必要があります。Codex../.pbxproj

OTOH、SCMはすべてが常にどこにあるかを知っているので(SVNサーバーへのup-pingについて言及しました)、代わりに質問してみませんか。

于 2010-06-14T04:46:18.947 に答える