[解決済み】Xcodeプロジェクトと関連フォルダの複製と名前の変更【終了しました
質問
Xcodeプロジェクト全体を複製し、Xcodeが狂うことなく、プロジェクトと関連ファイルの名前を変更し、プロジェクトにすべてのファイルを手動で再インポートする必要がないようにしたいのですが。
解決方法は?
この回答は、インターネット上の様々なStackOverflowの投稿やチュートリアルを1つの場所にまとめたもので、私が将来参照できるように、そして同じ問題に直面している他の誰かを助けるために作成しました。最後に他の回答への謝辞を記しています。
Xcodeプロジェクトの複製
-
Finderで、プロジェクトフォルダを新しいプロジェクトの任意の場所に複製します。の名前は変更しないでください。
.xcodeproj
この段階では、ファイル名や関連するフォルダーはありません。 -
Xcodeで、プロジェクトの名前を変更します。ナビゲータペイン(左ペイン)からプロジェクトを選択します。ユーティリティペイン(右ペイン)で、プロジェクトの名前を変更し、Xcode が提案する変更点を受け入れます。
-
Xcode の "Manage Schemes" でスキームの名前を変更し、ターゲットも変更します。
-
デフォルトのバンドル識別子を使用していない場合、現在の
PRODUCT_NAME
の末尾にあるバンドル識別子を、複製したプロジェクトで使用する新しい識別子に変更します (自動的に更新されます)。
ソースフォルダ名の変更
上記の手順を踏むと、Xcodeプロジェクトが複製され、名前も変更され、ビルドとコンパイルに成功するはずですが、ソースコードフォルダの名前は元のプロジェクトと同じままになっています。これはコンパイラの問題を引き起こすことはありませんが、SCMなどでナビゲートする際に最も明確なファイル構造ではありません。すべてのファイルリンクを壊さずにこのフォルダの名前を変更するには、次の手順に従ってください。
-
Finderで、ソースフォルダの名前を変更します。Xcodeが自動的に変更を検出しないため、プロジェクトが中断されます。Xcodeのファイルリストはすべて、実際のファイルとのリンクを失い、すべて赤色に変わります。 注:以下のような作業が必要な場合があります。 ステップ2 を先に行い、その後このステップに戻ってください。
-
Xcodeで、名前を変更した仮想フォルダをクリックします(これはおそらく一番上、実際の
.xcodeproject
) Finderの名前と同じになるようにリネームします。これは何も修正しませんし、厳密には必須のステップではありませんが、ファイル名を一致させるのは良いことです。 -
Xcodeのナビゲーションペインで、先ほど名前を変更したフォルダを選択します。次に、ユーティリティペイン(右端)で、「場所」ドロップダウンメニューのすぐ下にある、濃い灰色のフォルダのようなアイコンをクリックします。ここから、ファインダーで名前を変更したフォルダに移動し、'選択'をクリックします。これで自動的にすべてのファイルが再関連付けされ、Xcodeのナビゲーションペインで赤く表示されなくなるはずです。
-
プロジェクト/ターゲットのビルド設定で、古いフォルダー名を検索し、見つかった場合は手動で名前を変更します。通常
prefix.pch
とInfo.plist
が、もっと多いかもしれません。 -
サードパーティライブラリ(Testflight/Hockeyapp/その他)を使用している場合は、「ライブラリ検索パス」を検索し、古いファイル名がある場合はここでも名前を変更する必要があります。
-
プロジェクトに含まれるユニットテストのソースコードフォルダに対して、このプロセスを繰り返してください。
これで、Xcodeプロジェクトと関連するすべてのファイルの名前を、Xcodeファイルを手動で編集したり、物事を台無しにするリスクを負うことなく、複製&変更することができるはずです。
クレジット
この場を借りてお礼申し上げます。 ニック・ロックウッド と ポーリー・グロット この問題の別解を提供してくれたのは
関連
-
[解決済み] Xcode 12、iOS Simulator用にビルドしても、iOS用にビルドされたオブジェクトファイルでは、アーキテクチャ「arm64」用にリンクされます。
-
[解決済み] Xcode 6のバグ:Interface Builderファイル内の不明なクラス
-
[解決済み] Xcode製品 -> アーカイブを無効にする
-
[解決済み] XcodeプロジェクトとXcodeワークスペースの比較 - 違い
-
[解決済み】Xcodeプロジェクト(フォルダを含む)の名前を完全に変更するにはどうすればいいですか?)
-
[解決済み】Xcodeのコマンドラインからの "Build and Archive "について
-
[解決済み】キャッシュを空にし、すべてのターゲットをクリーンアップする方法 Xcode 4 以降
-
[解決済み] iPhoneのデバッグ。プロセス用タスクの取得に失敗しました」を解決するには?
-
[解決済み] Xcode5の*.xccheckoutファイルは、VCSで無視されるべきですか?
-
[解決済み] iOSシミュレータからネットワーク通話を監視する方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
原因究明:画像が見つからない
-
[解決済み] ファイルへ移動...】はありますか?
-
[解決済み】iOSアプリの名前を変更する方法は?
-
[解決済み】Xcodeプロジェクト(フォルダを含む)の名前を完全に変更するにはどうすればいいですか?)
-
[解決済み】Developer IDに対応したmacOSインストーラーパッケージの作成
-
[解決済み] 複数のXcodeバージョンをインストールすることはできますか?
-
[解決済み] SwiftでNSStringからNSDataを作成する
-
[解決済み] XcodeプロジェクトのPodfileで複数のターゲットを指定するにはどうすればよいですか?
-
[解決済み] Xcode 9 オートコンプリートが100%動作しない - 部分的に動作する
-
[解決済み] ビルド番号を増加させる良い方法とは?