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


470

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

XXX(例えばのために、「データ」、または単に「プロジェクト」)ので、簡単な正規表現検索と置換プロジェクトの設定ファイルが破損する危険性の外に、可能ではない、非常に一般的な用語です。

現在のプロジェクトディレクトリには、次のアイテムが含まれています。

  • XXX
  • XXXTests
  • XXX.xcodeproj

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

  • YYY
  • YYYTests
  • YYY.xcodeproj

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

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


編集:これが私の最も支持された質問になったことは絶対にばかげています。



1
また、ここで尋ねたと答えstackoverflow.com/questions/17744319/...答えの投票まで200で
ロンMyschuk

1
また尋ねたと、ここで答えstackoverflow.com/questions/8262613/... 189までは両方のポストはXcodeの7にまだ関連している投票で
ロンMyschuk

あなただけのアプリのアイコン名を変更したい場合は、この答えをチェックし stackoverflow.com/questions/238980/...
LYU

回答:


1020

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

  1. Xcodeウィンドウの左側のパネルにある「プロジェクトナビゲーター」で、名前を変更するプロジェクトをクリックします。
  2. 右側のパネルで[ファイルインスペクタ]を選択すると、プロジェクトの名前が[IDとタイプ]の下に表示されます。新しい名前に変更します。
  3. ダイアログでプロジェクトのコンテンツアイテムの名前を変更するかどうかを尋ねられたら、[名前の変更]をクリックします。

手順2-スキームの名前を変更する

  1. ウィンドウの上部にある[停止]ボタンの横に、古い名前の製品のスキームがあります。それをクリックして、「スキームの管理…」を選択します。
  2. スキームの古い名前をクリックすると、編集可能になります。名前を変更して「閉じる」をクリックします。

ステップ3-アセットを含むフォルダーの名前を変更する

  1. Xcodeを終了します。
  2. 正しく名前が付けられたマスターフォルダーに、誤って名前が付けられたOLDフォルダーを持つ、新しく名前が付けられた.xcodeprojファイルがあります。OLDフォルダーの名前を新しい名前に変更します(Gitを使用する場合git mv oldname newnameは、新しいファイルを削除/追加するのではなく、Gitがこれを移動であると認識するように実行できます)。
  3. Xcodeでプロジェクトを再度開くと、「フォルダOLDは存在しません」という警告が表示されます。警告を閉じます。
  4. 左側のパネルの[プロジェクトナビゲーター]で、最上位のOLDフォルダーをクリックします。
  5. 右側のパネルの[Identity and Type]で、[Name]フィールドを古い名前から新しい名前に変更します。
  6. そのフィールドのすぐ下に「場所」メニューがあります。近くのフォルダアイコンをクリックして、名前を変更したフォルダを選択します。

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

  1. 左側の「プロジェクトナビゲーター」でプロジェクトをクリックし、メインパネルで「ビルド設定」を選択します。
  2. 設定で「plist」を検索します。
  3. 「パッケージ化」セクションではInfo.plist、およびが表示されProduct Bundle Identifierます。
  4. に名前が入力されているInfo.plist場合は更新してください。
  5. についても同じようにしProduct Bundle Identifierます。
  6. SwiftUIを使用している場合は、「開発アセット」を検索してパスを更新します。

ステップ5-テストがある場合は、ステップ3を繰り返します。

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

ステップ7-プロジェクトを再構築する

  1. Command+ Shift+ K掃除する
  2. Command+ B構築する

5
プロジェクトの名前は変更できますが、フォルダ名は同じです。それらを変更する方法を知っていますか
Coder221

5
ありがとう!Xcode 8の場合、資格ファイルの名前を手動で変更する必要があります。
Jiulong Zhao

54
ステップ3パート2(フォルダーの名前変更)を実行するときに、gitを使用しgit mv oldname newnameている場合は、すべてのファイルを削除して追加するのではなく、gitが移動であると認識できるようにすることをお勧めします。
アーロンアッシュ

14
Xcode 8.2では完全に機能します。スキーム名をクリックしても編集できない場合は、スキームの編集中にここで1つ指摘する必要があります。スキームを選択してリターンキーを押すと、スキーム名が編集可能になります。
Khurram Shehzad 2017年

5
古いプロジェクト名の他のインスタンスを見つけて置き換えることを忘れないでください。
デレク・ソイケ2017

194

@ luke-westの優れた答えに追加するには:

CocoaPodsを使用する場合

ステップ2の後:

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

ステップ4の後:

  1. XCodeの場合:Podfileプロジェクトナビゲーターから選択して編集します。targetOLD名の句が表示されます。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. 掃除して実行します。

7
Xcode 8.3.2を使用して、cocoapods-deintegrateを使用し、すべてのポッドを再インストールして、新しい名前でプロジェクトを実行する必要がありました。
SteffenK 2017年

2
@SteffenKその方法とrm -rf Pods /の間に違いはありますか?他のすべての手順を実行したことを考慮してください。
Vaiden

1
詳しく説明していただけますか?どんな痕跡?
Vaiden

2
@Vaidenは、CocoaPodsを使用する際の明確な説明に感謝します。プロセスは2番目の参照を作成しましたが、これは奇妙でしたが、それを削除した後、すべてが完全に機能しました!再度、感謝します!:)
Matt Swift

4
この回答に記載されているOLD.podspecファイルの場所を誰かが教えてもらえますか?私のプロジェクトでは、「Podfile」/「Podfile.lock」/「Pods.xcodeproj」のようないくつかのファイルを取得し、「Local Podspecs」という名前の空のフォルダーを取得しましたが、.podspecファイルを見つけることができません
codeDude

51

シェルコマンドを使用したより迅速なソリューション(CocoaPodsでも動作します):

PLEASE cd進む前に、TO A NON-GITリポジトリ⚠️

ステップ1-前提条件

  1. 元のプロジェクトフォルダーを/NewProjectFolder gitリポジトリの外側の一時的な場所にコピーします⚠️.gitを変更すると、gitインデックスが破損する可能性があります 💥☠

手順2-ターミナルを開く

次に、プロジェクトの名前をからに変更oldNameNewProjectます。

  • 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リポジトリに追加します。
  • 完了です!

3
このおかげで私はそれが便利だと思いました。このようなコマンドをコピーして貼り付けるときは、作業を最小限に抑えることができるので「YourNewAmazingProjectName」の例の名前はやりすぎであるので、削除キーの寿命を延ばすため、「example」を使用してください。
LpLrich

1
@LpLrichあなたの提案をありがとう、私は私の答えを更新しました。
Pietro Basso

メインフォルダーの名前は変更されましたが、名前が変更された他のディレクトリやファイルはありません。
イーサンパーカー

2
@EthanParkerをfind . -name 'oldName*' -print0 | xargs -0 rename --subst-all 'oldName' 'ExampleName'2回実行する必要があります。メインフォルダー内のファイルとディレクトリは2回目の反復で名前が変更されます。
Pietro Basso

1
私はプロジェクトでcoreDataを使用し、このコマンドを2回ではなく3回実行する必要がありました。
ShadeToD

21

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

Xcodeプロジェクトディレクトリのルート内から実行し、2つの文字列パラメーター$ OLD_PROJECT_NAME&$ NEW_PROJECT_NAMEで呼び出す必要があります。

スクリプトは、Xcodeプロジェクトまたはワークスペースファイルを含むすべてのファイルとディレクトリを再帰的に処理し、出現するすべての$ OLD_PROJECT_NAME文字列を$ NEW_PROJECT_NAME文字列(各ファイルの名前とコンテンツの両方)で置き換えます。

プロジェクトをバックアップすることを忘れないでください!

Xcode Project Renamer


これは初心者には役に立ちませんが、メインプロジェクトファイルが破損しているだけでなく、以下のコマンドを使用してスクリプトを削除しないため、時間を無駄にしています。$ rm rename.swift
Peter Walter

近道をしないでください。
Peter Walter

6
@ peter-walterは、そのような操作の前に常にデータをバックアップする必要があります。
OlcayErtaş19年

これは魅力のように働きました。不足しているのはpod install、スクリプトの実行後に実行する必要があることだけです。
romin21

11

XCode 11.0以降。

とても簡単になりました。Project NavigatorXCodeウィンドウの左パネルに行くだけです。
を押しEnterて、フォルダ名を変更するのと同じように、名前を変更するためにアクティブにします。
ここに画像の説明を入力してください

ここで新しい名前を変更するだけで、XCodeから他の名前を変更するように求められます。

ここに画像の説明を入力してください

Renameここをタップすれば完了です。
ルートフォルダー名が変更されない理由について混乱している場合、それは単なるフォルダーです。新しい名前に変更しただけです。
ここに画像の説明を入力してください


7

プロジェクト名を変更するには;

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

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

3. Returnキーを押します。

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

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

  2. 「名前の変更」を押します


5

@ Luke-Westのソリューションと@Vaidenのソリューションに従う際の追加の指示:

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

    1. [新規作成されたプロジェクト名(停止ボタンの横)]をクリックし、[スキームの編集]> [ビルド](左側)>古いターゲットを削除し(欠落していると表示されます)、新規に命名されたプロジェクトのロゴの下にある新規に命名されたプロジェクトに置き換えます。

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

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

したがって、更新された手順は次のようになります。

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

  1. プロジェクトでcocoapodsを使用している場合は、ワークスペースを閉じて、これらの手順のXCodeプロジェクトを開きます。
  2. Xcodeビューの左側にある「プロジェクトナビゲーター」で、名前を変更するプロジェクトをクリックします。
  3. 右側で[ファイルインスペクタ]を選択すると、プロジェクトの名前が[IDとタイプ]の下に表示され、新しい名前に変更します。
  4. ドロップダウンメニューの[名前の変更]をクリックします

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

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

ステップ3-アセットを含むフォルダーの名前を変更する

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

ステップ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. メインペインで、[ビルドフェーズ]タブに切り替えます。Link Binary With Librariesの下で、古いフレームワークを探して削除します(欠落しているはずです)。新しく名前を付けたフレームワークはすでに存在しているはずです。ウィンドウの下部にある「+」ボタンを使用して追加しないでください。
  8. Objective-Cブリッジヘッダーがある場合は、ビルド設定に移動し、ヘッダーの場所をOLD / OLD-Bridging-Header.hからNEW / NEW-Bridging-Header.hに変更します。
  9. 掃除して実行します。

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


2
rm-rf Pods/よりクリーンな方法の代わりにステップ5.3 を実行するpod deintegrateと、XcodeプロジェクトからCocoaPodsのすべてのトレースが削除されますが、Podfileはそのまま残ります。
jklapwyk

このルール。Ionicアプリを既存のiOSアプリとマージするための基盤を提供しました。
t4l

2

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


1
これまでこれまで言及した唯一の人!
Fattie

1
これは、フィールドを「再クリック」するだけで、インターフェイスビルダーで実行できます。その後、新しいプロジェクト名に正しく「デフォルト」に戻ります。
Fattie
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.