web-dev-qa-db-ja.com

Xcodeプロジェクト(フォルダを含む)の名前を完全に変更するにはどうすればよいですか。

XXXという名前のプロジェクトがあります。このプロジェクトの名前をYYYに変更したいです。

XXXは非常に一般的な用語であり(たとえば、「データ」、単に「プロジェクト」など)、単純なRegEx検索と置換は不可能です。プロジェクト構成ファイルが破損する危険性があります。

私の現在のプロジェクトディレクトリには、次の項目が含まれています。

  • XXX
  • XXXTests
  • XXX.xcodeproj

そして私はそれらを次のように名前変更したいと思います。

  • YYY
  • YYYTests
  • YYY.xcodeproj

...それぞれ、必要な変更がプロジェクトファイルに反映されています。

新しいプロジェクトを手動で作成してデータを追加せずにこれを達成するにはどうすればよいですか。


編集: /これは私の最も支持されている質問になっていることは絶対にばかげている:p

339
Vatsal Manot

ステップ1 - プロジェクトの名前を変更する

  1. Xcodeビューの左側にある「プロジェクトナビゲータ」で名前を変更したいプロジェクトをクリックします。
  2. 右側の「ファイルインスペクタ」を選択すると、プロジェクトの名前が「IDと種類」の下に表示されているはずです。新しい名前に変更します。
  3. ドロップダウンメニューの[名前の変更]をクリックします

ステップ2 - スキームの名前を変更する

  1. 一番上のバー([停止]ボタンの近く)に、古い製品のスキームがあります。それをクリックしてから、[スキームの管理]に進みます。
  2. スキーム内の古い名前をクリックすると編集可能になりますので名前を変更してください

ステップ3 - アセットを使用してフォルダの名前を変更する

  1. Xcodeを終了
  2. 正しく名前が付けられたマスターフォルダーに、誤って名前が付けられたOLDフォルダーを持つ、新しく名前が付けられたxcodeprojファイルがあります。 OLDフォルダの名前を新しい名前に変更します
  3. プロジェクトを再度開くと、「OLDフォルダは存在しません」という警告が表示されます。警告を消します。
  4. 左側の「プロジェクトナビゲータ」で、最上位のOLDフォルダ名をクリックします。
  5. [ユーティリティ]ウィンドウの[IDと種類]の下に[名前]エントリが表示されます。これを古い名前から新しい名前に変更します。
  6. すぐ下に "Location"エントリがあります。古い名前のフォルダをクリックして、新しく名前を変更したフォルダを選択します。

ステップ4 - Build plistデータの名前を変更する**

  1. 左側の[プロジェクトナビゲータ]でプロジェクトをクリックし、メインパネルで[ビルド設定]を選択します。
  2. このセクションで "plist"を検索する
  3. パッケージの下には、Info.plistProduct bundle identifierがあります。
  4. Info.plistの一番上のエントリの名前を変更する
  5. Product Identifierについても同じことをします。

ステップ5 - テストのためにステップ3を繰り返します(あなたがそれらを持っているならば)**

ステップ6 - コアデータの名前がプロジェクト名と一致する場合(ステップがあれば)、ステップ3を繰り返します。**

最後に 、これで作業は終了し、再構築できます( Command + Shift + K を削除し、 Command + B を作成します)。

778
Luke West

@ luke-westのすばらしい答えに付け加えると:

CocoaPodを使うとき

ステップ2の後

  1. XCodeを終了します。
  2. マスターフォルダで、OLD.xcworkspaceNEW.xcworkspaceに名前変更します。

ステップ4の後:

  1. XCodeの場合:プロジェクトナビゲータからPodfileを選択して編集します。 target節にOLD名が付いているはずです。 NEWに変更してください。
  2. XCodeを終了します。
  3. プロジェクトフォルダで、OLD.podspecファイルを削除します。
  4. rm -rf Pods/
  5. pod installを実行してください。
  6. XCodeを開きます。
  7. プロジェクトナビゲータで自分のプロジェクト名をクリックします。
  8. メインペインで、Build Phasesタブに切り替えます。
  9. Link Binary With Librariesの下で、libPods-OLD.aを探して削除します。
  10. Objective-Cブリッジヘッダがある場合は、[ビルド設定]に移動し、ヘッダの場所を[OLD/OLD-Bridging-Header.h]から[NEW/NEW-Bridging-Header.h]に変更します。
  11. きれいにして走ってください。
160
Vaiden

シェルコマンドを使ったより速い解決法(CocoaPodでも動作します):

処理を開始する前にGIT以外のリポジトリにcdを付けてください。

ステップ1 - 前提条件

  1. 元のプロジェクトフォルダを一時的な/NewProjectFolderあなたのgitリポジトリ外にコピーします。 ⚠️を.gitに変更すると、git index ????が破損する可能性があります。 ☠

ステップ2 - ターミナルを開く

では、プロジェクトの名前をoldNameからNewProjectに変更します。

  • XCodeを閉じます。
  • あなたの/NewProjectFolderに行きます。
cd /Path/to/your/NewProjectFolder
  • 必要な追加のツールをインストールしてください。
brew install rename ack
  • ソース文字列を含むファイルとディレクトリの名前を変更します。 このコマンドを2回実行する必要があります。ディレクトリは最初に名前が変更され、それらの中のファイルとディレクトリは次の繰り返しで名前が変更されます。
find . -name 'oldName*' -print0 | xargs -0 rename --subst-all 'oldName' 'NewProject'
  • ソース文字列を含むすべてのファイルの名前が変更されているかどうかを確認してください。空の出力が表示されるはずです。
find . -name 'oldName*'
  • すべてのファイル内のすべての文字列を置き換えます。
ack --literal --files-with-matches 'oldName' --print0 | xargs -0 sed -i '' 's/oldName/NewProject/g'
  • すべてのファイルで出現するすべての文字列が置き換えられたかどうかを確認してください。空の出力が表示されるはずです。
ack --literal 'oldName'
  • pod installを実行する
  • リポジトリにNewProjectFolderを追加してください。
  • これで終わりです!
29
Pietro Basso

Xcode Project RenamerというGitHubプロジェクトがあります。

これはXcodeプロジェクトディレクトリのルートの内側から実行され、2つの文字列パラメータで呼び出されるべきです:$ OLD_PROJECT_NAMEと$ NEW_PROJECT_NAME

スクリプトは、Xcodeプロジェクトやワークスペースファイルを含め、すべてのファイルとディレクトリを再帰的に調べて、$ OLD_PROJECT_NAME文字列をすべて$ NEW_PROJECT_NAME文字列に置き換えます(各ファイルの名前と内容の両方)。

Xcode Project Renamer

9
Olcay Ertaş

プロジェクト名を変更する。

  1. プロジェクトナビゲータでプロジェクトを選択します。

2.ファイルインスペクタの[識別と種類]セクションで、[名前]フィールドに新しい名前を入力します。

3. Returnキーを押します。

ダイアログが表示され、名前を変更できるプロジェクト内の項目が一覧表示されます。ダイアログには、変更後のアイテムの表示方法のプレビューが含まれています。

  1. 選択的にアイテムの名前を変更するには、名前を変更したくないアイテムのチェックボックスをオフにします。自分のアプリだけの名前を変更するには、そのアプリを選択したままにし、他のすべての項目の選択を解除します。

  2. "名前の変更"を押す

6
Paal Aune

@ Luke-Westの+ @ Vaidenの解決策に従うときの追加の注意事項:

  • あなたのスキームが変更されていない場合は(まだ私のMacを表示しています)左上の停止ボタンの横にあります。

    1. 新しく作成したプロジェクト名(停止ボタンの隣)をクリックします> Edit Schemes> Build(左側)>古いターゲットを削除し(存在しないと言う)、NEWLYという名前のproject logoの下にある新しいという名前のプロジェクトに置き換えます。

また、@ Vaidenのソリューションのステップ3を使用する必要はありませんでした。ターミナルでrm -rf Pods/を実行するだけで古いポッドファイルをすべて削除しました

また、@ Vaidenのソリューションでステップ9を使用する必要はありませんでした。代わりに、Link Binary Librariesの下のframeworkという名前の古いプロジェクトを削除しました(新しい名前付きframeworkは既に存在していました)。

そのため、更新された手順は次のようになります。

ステップ1 - プロジェクトの名前を変更します

  1. Xcodeビューの左側にある「プロジェクトナビゲータ」で名前を変更したいプロジェクトをクリックします。
  2. 右側の「ファイルインスペクタ」を選択すると、プロジェクトの名前が「IDと種類」の下に表示されているはずです。新しい名前に変更します。
  3. ドロップダウンメニューの[名前の変更]をクリックします

ステップ2 - スキーム名を変更する

  1. 一番上のバー([停止]ボタンの近く)に、古い製品のスキームがあります。それをクリックしてから、[スキームの管理]に進みます。
  2. スキーム内の古い名前をクリックすると編集可能になりますので名前を変更してください
  3. XCodeを終了します。
  4. マスターフォルダで、OLD.xcworkspaceをNEW.xcworkspaceに変更します。

ステップ3 - 自分のアセットでフォルダの名前を変更する

  1. Xcodeを終了
  2. 正しく名前が付けられたマスターフォルダーに、誤って名前が付けられたOLDフォルダーを持つ、新しく名前が付けられたxcodeprojファイルがあります。 OLDフォルダの名前を新しい名前に変更します
  3. プロジェクトを再度開くと、「OLDフォルダは存在しません」という警告が表示されます。警告を消します。
  4. 左側の「プロジェクトナビゲータ」で、最上位のOLDフォルダ名をクリックします。
  5. [ユーティリティ]ウィンドウの[IDと種類]の下に[名前]エントリが表示されます。これを古い名前から新しい名前に変更します。
  6. すぐ下に "Location"エントリがあります。古い名前のフォルダをクリックして、新しく名前を変更したフォルダを選択します。

ステップ4 - Build plistデータの名前を変更します

  1. 左側の[プロジェクトナビゲータ]でプロジェクトをクリックし、メインパネルで[ビルド設定]を選択します。
  2. このセクションで "plist"を検索してください包装の下に、Info.plistと製品バンドルIDが表示されます。
  3. Info.plistの一番上のエントリの名前を変更する
  4. 製品IDについても同じことをします。

ステップ5 Podfileの処理

  1. XCodeの場合:プロジェクトナビゲータからPodfileを選択して編集します。あなたは、OLD名を持つターゲット節を見るべきです。 NEWに変更してください。
  2. XCodeを終了します。
  3. ターミナルで、プロジェクトディレクトリにcdしてから:rm -rf Pods/
  4. ポッドインストールを実行します。
  5. XCodeを開きます。
  6. プロジェクトナビゲータで自分のプロジェクト名をクリックします。
  7. メインペインで、[Build Phases]タブに切り替えます。 Link Binary With Librariesの下で、OLDフレームワークを探して削除します(足りないと言うはずです)新しく追加されたframeworkはすでに存在しているはずです、追加しない場合はウィンドウ下部の「+」ボタンを使用します
  8. Objective-Cブリッジヘッダがある場合は、[ビルド設定]に移動し、ヘッダの場所を[OLD/OLD-Bridging-Header.h]から[NEW/NEW-Bridging-Header.h]に変更します。
  9. きれいにして走ってください。

すべてのステップを正常に実行した後は、エラーなしでビルドできるはずです。

4
itsmcgh

LukeとVaidenが推奨したすべての手順とは別に、ストーリーボードのすべてのcustomModuleプロパティの名前を新しい名前に一致するように変更する必要があり、大文字と小文字を区別する必要があります。

1
CristianMoisei