35

Xcode でターゲットを複製することは、ターゲット ビルド設定または関連するスキーム内で設定された環境変数によって制御される条件付きコードの結果として、同じコードベースを使用して多少異なる機能を持つ複数のアプリまたはフレームワーク/ライブラリ製品を作成するための優れた方法です。最初に既知の動作する基本バージョンを複製し、次に各ターゲットが使用する環境変数を設定してから、インライン プリプロセッサ #ifdef ステートメントでコードの動作を分割し始めます。

ただし、複製されたターゲットは「元のターゲット名のコピー」という名前になります。これは名前を変更できますが、info.plist にもこの名前が付けられ、いくつかの重要なビルド設定にも表示される可能性があり、有益でない「コピー方法に応じて、複製されたターゲット名の "バージョン。iOS フレームワークを作成すると、特に問題が発生しやすいようです。

私の質問は、複製時に新しいターゲット名を指定できるターゲットを複製するための手法があるかどうかです。そのため、一時的に間違ったターゲット名や、一時的に間違った名前を含むファイルが作成されることはありません。または、代わりに、「リファクタリング」機能を使用してこれを修正する方法がある場合、これは自動化された方法です。

この機能が Xcode に含まれていない理由を説明する質問に何らかの間違った仮定が含まれている場合は、お知らせください。4.3を使用しています。

4

5 に答える 5

6

残念ながら、これに関する現在の UI はまったくないと確信していますが、大幅な改善になることには強く同意します。すべての人を代弁することはできませんが、Foo copyという名前のターゲットはほとんど必要ありません。レーダーを提出することをお勧めします。

于 2013-02-14T13:17:50.917 に答える
0

少し努力すれば、そのためにCMakeを使用できます。ビルド システム ジェネレーターです。

最初はプロジェクトの学習とセットアップが難しいかもしれません。(現在) Xcode では (リソースの追加など) 簡単にできないこともありますが、基本的な構成で新しいターゲットを作成するのは非常に簡単になります。

基本的にCMakeLists.txtは、ソース ツリーにファイルを記述してライブラリとターゲットを定義し、ソース ファイルなどを定義して、その都度 Xcode プロジェクトを生成します。

新しいターゲットを追加するのはとても簡単です:

  1. ADD_EXECUTABLE( Target_Name Source_Files )
  2. SET_TARGET_PROPERTIES( Target_Name PROPERTIES COMPILE_DEFINITIONS Your_Additional_Defines )
  3. CMake を再実行します。(Xcode プロジェクトを閉じる必要さえありません)

短所:

  • セットアップに時間がかかります。
  • いくつかのことを機能させるには、調査が必要な場合があります
  • 現在、CMake では一部の機能が十分にサポートされていません
于 2013-02-13T16:57:17.227 に答える
-3

ターゲットをダブルクリックして、少なくともターゲットの名前を変更します...まだ製品の名前を変更しようとしていますが、他のすべての名前を変更できる場合はそれほど重要ではありません(表示名など))

于 2013-11-25T15:18:47.117 に答える
-4
  • ナビゲーターパネルでプロジェクトを選択
  • 複製したいターゲットを選択
  • マウスを右クリックして「複製」を選択します
  • XCode でターゲットの名前を変更: 選択したターゲットをクリックすると、インライン編集が開始されます。
  • ターミナルを開き、プロジェクトのディレクトリ/フォルダーに移動します
  • svn status を実行して、XCode が行った変更を確認します。
  • XCode は新しい Infocopy.plist ファイルを作成し、使用する場合はバージョン管理下に追加しました。通常、別の名前を選択する必要があるため、次の手順に従います。
  • バージョン管理の追加をキャンセル: $> svn revert Infocopy.plist
  • 名前を変更します: $> mv Infocopy.plist YourNameInfo.plist
  • バージョン管理に追加: $> svn add YourNameInfo.plist
  • 「Info.plist File」という名前の新しいターゲットビルド設定に新しい名前を設定します
  • ターゲット ファイルの名前を適切に変更します: $> mv OrigTargetCopy.xcscheme YourTargetName.xcscheme
  • バージョン管理下に新しいターゲット ファイルを追加します: $> svn add YourTargetName.xcscheme
  • 「製品名」という名前の新しいターゲットビルド設定で製品の名前を変更します
  • 新しいターゲットに新しい「プリプロセッサ マクロ」のビルド設定を設定することもできます。
  • YourNameInfo.plist に適切な値を設定します
  • ターゲット固有のファイルのターゲット割り当てを設定します。通常、YourNameInfo.plist は、新しいターゲットの一部のみになります。他にも同様のファイルがたくさんある可能性があります (アイコン、スプラッシュ スクリーン、その他のグラフィックスなど)。
于 2013-02-07T23:34:15.047 に答える