1

私は Xcode のワークスペースの検索と置換をよく利用します。正規表現と組み合わせると非常に強力です。

ただし、30 ~ 40 個のプロジェクトを含むワークスペースがあり、ビルド設定を大幅に変更する必要があります。Xcode に飛び乗って、ブロックにぶつかったときにすべてのプロジェクトのビルド設定を変更するために正規表現を使用することを期待していました。すべての Xcode プロジェクト ファイルがロックされています。したがって、正規表現の検索はうまく機能しますが、置き換える方法がありません。プレビューすらできません。私が見ることができるプロジェクトファイルにのみ影響しています。アクセス許可を確認するために Finder を開きましたが、それらは大きく開いており、OSX ファイル ロックはすべてオフになっています。したがって、これは Xcode のロックの問題のようです。Xcode で通常のファイル ([ファイル] > [ロック解除...]) と同じようにプロジェクト ファイルをロック/ロック解除しようとしましたが、これらのオプションはプロジェクトではグレー表示されています。

誰もこれに遭遇しましたか?30 以上のプロジェクトのビルド設定を手動で更新する前に、考えられる解決策はありますか?

4

1 に答える 1

1

上記のコメントから私の仮説を確認または反論するために、この質問をさらに掘り下げました。Xcode は実際、検索/置換アクティビティに関連するファイルのディスク上のデータに対して直接動作します。ファイルシステム イベントは、検索/置換操作が .pbxproj ファイルを開き、ビルド構成と設定セクションへのファイルとグループの参照を介して上から下に正規表現アクティビティを開始し、最終的にそれぞれが指すディスク上のデータに検索を適用することを示唆しています。 .pbxproj のエントリの

当然のことながら、ユーザーが入力する正規表現によっては、検索内のカーソルの現在の位置でコンテンツを正確に一致させ、現在の検索のコンテキストを破棄する置換操作をトリガーすることは完全に可能です。これにより、検索が途中で終了する可能性が最も高くなりますが、検索が十分に含まれていない場合、無限に長い検索/置換操作 (例: find '.' を 'aa' に置換) がトリガーされる可能性もあります。この Xcode の検索/置換動作に関して、「自己食いヘビ」問題のクラス全体を食い止めるために、Apple は検索操作の間 .pbxproj をロックすることを選択したようです。これは、Xcode の検索/置換正規表現ツールを使用できないことを意味しますが、優れたテキスト エディターは数多くあります (無料のものも含まれます! ) マルチファイル検索 (TextWrangler および BBEdit) を介して正規表現の検索/置換を実行できるようにします。これらのエディターを使用すると、マスター プロジェクトのサブフォルダー内のファイル パターン (*.pbxproj など) で検索をフィルター処理できます。プロジェクトがディスク上でどのように構成されているかに応じて、共通の祖先から始まる検索を選択すると、Xcode の場合と同じように検索/置換操作を実行できます。実際、Xcode で特定した同じ正規表現文字列をこれらのツールで使用して、必要な変更を加えることができます。共通の祖先から始まる検索を選択すると、Xcode の場合と同じように検索/置換操作を実行できます。実際、Xcode で特定した同じ正規表現文字列をこれらのツールで使用して、必要な変更を加えることができます。共通の祖先から始まる検索を選択すると、Xcode の場合と同じように検索/置換操作を実行できます。実際、Xcode で特定した同じ正規表現文字列をこれらのツールで使用して、必要な変更を加えることができます。

ほとんどの大規模または自律的な編集と同様に、編集する予定のファイルのバックアップを保持してください (プロジェクトは完全にローカルで、ソース管理されていないプロジェクトであるため、これは少なくとも 2 倍になります)。変化します。幸運を祈るとともに、あなたが最終的にどの道をたどったか、そして物事がどのように進んだかをお知らせください。

于 2013-07-13T04:06:27.543 に答える