Xcode 4でプロジェクトの名前を変更する方法は知っていますが、ソースフォルダーの名前を変更するにはどうすればよいですか?問題は、Xcodeでプロジェクトの名前を変更すると、Xcode内でのみ名前が変更されるということです(以前と比較して進行中ですが)。
これは、テキストエディタでpbxprojファイルを手動で編集することなく、Xcode内から実行できます。
方法は次のとおりです。
Finderでソースフォルダーの名前を変更します。 Xcodeは仮想(黄色)プロジェクトフォルダーが指す実際のフォルダーが変更されたときにXcodeが自動的に検出しないため、プロジェクトが最初に壊れます。そのため、フォルダー内のすべてのファイルはXcodeで赤に変わります。心配する必要はありません。手順3で修正します。
Xcodeで、左側のサイドバーにある(現在壊れている)仮想フォルダーをクリックし、Finderの名前と一致するように名前を変更します(実際に任意の名前を付けることも、名前を変更しないこともできますが、それは非常識です) )。それはフォルダ内の赤いファイルを修正しませんが、それは大丈夫です。
Xcodeの右側のサイドバーで、下のスクリーンショットに示されているアイコンをクリックして、ファイルダイアログを表示します。以前に名前を変更したフォルダーを選択します。これにより、仮想フォルダーがディスク上の実際のフォルダーに再度関連付けられ、内部のすべてのファイルへのリンクが自動的に修正されます。
ビルド設定で、古いフォルダー名を検索し、見つかったオカレンスの名前を手動で変更します。通常、oldfolder/prefix.pchとoldfolder/info.plistの2つがありますが、他にもある場合があります。
全部終わった!
編集:このオプションはまだXcode 5にありますが、デフォルトでは非表示になっています。それを表示するには、「テキスト設定」パネルの上にあるインスペクターの細い「Identity and Type」ヘッダーをクリックして展開します。
私は何十回もやってきました:
.pbxproj
プロジェクトバンドル内のファイル(コンテキストメニュー[パッケージの内容を表示])とテキストエディター。タスク:XcodeとFinderの両方で「Play」の名前を「Play2」に変更
これを変更:
これに:
STEPS:
//何よりも前に、Finderでプロジェクトをバックアップしてください!
//上記のすべての手順は簡単で、副作用はありません// //ここで注意が必要な部分があります:Finder(.xcodeprojと同じレベルにあるもの)の内部フォルダー(画像の中央の列)の名前を変更します
XCode4でプロジェクトの名前を効果的に変更する方法は次のとおりです(ファイルフォルダを含む)。
最初に-Xcodeプロジェクトの名前を変更しないでください!!!
あなたがしなければならない場合、下にある可能性があります-私はそれを動作させることはありませんでした、新しいプロジェクトを作成することになり、既存のファイルのコピーを始めました。 Xcodeはとてもすごい…。ファイルの名前を「名前」から「名前」に変更してみてください。よく、よく楽しんでください。
私は答えまたはこれを回避する方法を見つけました:「パッケージコンテンツを表示」を右クリックしてpbxprojファイルを開き、そこでproject.pbxprojファイルを編集します-パスと呼ばれる参照の名前を変更する必要があります-他のものフォルダ名に「/」が追加されました。
それだ。それが何らかの助けになることを願っています。
* .pbxprojファイルの値を置き換える際に注意する必要がある別の問題を次に示します。古いフォルダ名がFooBarの場合、*。pbxprojファイルに次のようなエントリがあります。
パス= FooBar
新しいフォルダー名がFoo Barであるとします。つまり、スペースを導入しています。次に、この行は
path = "Foo Bar"
単純な検索と置換を行うだけの場合、結果はXcodeが解析できない* .pbxprojファイルになります。新しいフォルダ名にスペースがあり、古い名前にスペースがなかった場合は、二重引用符を必ず含めてください。
上記のさまざまな答えを検討し、自分自身を試してみた後、私は自分のために要約しています。現在のプロジェクト名がProjAbcであり、名前をProjDefに変更するとします。
そのプロジェクトのXcodeを終了します。
Finderで、バックアップ用にProjAbc.xcodeprojフォルダーを複製します。
Finderで、新しいプロジェクト名に合わせて必要な場合は、ABOVE ProjAbc.xcodeprojフォルダーの名前を自由に変更します。
Finderで、ProjAbcからProjDefにProjAbc.xcodeprojに対応するソースファイルフォルダーの名前を変更します。
ProjAbc.xcodeprojのXcodeを開きます(Project Navigatorでは、仮想ソースフォルダーProjAbcのすべてのファイルは赤色になります)。
Xcodeで、左側のサイドバーにあるProject Navigatorの(現在壊れている)仮想フォルダーをクリックし、Finderの名前と一致するように名前を変更します-ProjDef。それはまだフォルダ内の赤いファイルを修正しませんが、それは大丈夫です。
Xcode(左側のサイドバーで仮想フォルダーを選択します)の右側のサイドバーのファイルインスペクターで、下のスクリーンショットに示すアイコンをクリックしてファイルダイアログを表示します。ファイルダイアログで、以前に名前を変更したフォルダー(ProjDef)を選択します。これにより、仮想フォルダーがディスク上の実際のフォルダーに再度関連付けられ、内部のすべてのファイルへのリンクが自動的に修正されます。
XcodeのProject Navigatorで、ProjAbcプロジェクト名をクリックし、名前をProjDefに変更します。
Xcodeで、ProjDefターゲット内(Project NavigatorのプロジェクトProjDef内)で「ビルド設定」を開きます。 * -Info.plistファイルと* -Prefix.pchファイルの両方のフォルダー名とファイル名を、ProjAbcではなくProjDefを含むように名前変更します。
Xcode、Project Navigator、ProjDef仮想ソースフォルダー、「サポートファイル」で、*-Info.plistファイルと* -Prefix.pchファイルの両方の名前をもう一度変更して、ProjAbcの代わりにProjDefを含める
Xcodeメニューで、Product/Scheme/Manage Schemes ...を押します(または、Xcodeの左上にあるSchemeバーで「ProjAbc」> Schemeの名前をクリックし、「Manage Schemes ...」を押します)、ダイアログボックスでSchemeの名前を変更しますProjAbcからProjDefに移動し、[OK]ボタンを押します。プロジェクト名が単一のWordで構成されている場合、今すぐ実行できます。
Xcodeで、Supporting Files/*-Prefix.pchファイルの一番上のコメント行を編集し、ProjAbcをProjDefに置き換えます(2回)。もちろん、このコメントの修正はオプションです。
Xcodeを終了します。
FinderでProjDef.xcodeprojをポイントし、テキストエディターで開きます。 (TextWrangler.appで開くか、マウスを右クリックしてポップアップメニューで[パッケージの内容を表示]を押し、TextEdit.appでファイルproject.pbxprojを編集します)
テキストエディタで、「ProjAbc」(単語全体、大文字と小文字を区別)を検索します(段落内:/ * PBXNativeTargetセクションの開始* /行:productName = ProjAbc;)。これを「ProjDef」に置き換えます。実際、プロジェクトはとにかく実行される可能性があるので、この手順はオプションです。
プロジェクト名が「ProjDef Geh」のように2つ以上の別個の単語で構成されている場合、次の手順を実行する必要があります。仮想ソースファイルフォルダーのFinderフォルダーへの参照を検索します-
テキストエディターから保存し、テキストエディターを終了します。
それでおしまい。上記のように、プロジェクト名が単一のWordで構成されている場合、手順11の最後で実行できます。
プロジェクトへのソースプロジェクトの古い参照がある場合は、ここでプロジェクトを二重化するとき(すべての変更が両方のproejctに影響する)
================================================== ======================
上記の回答、特にNick Lockwoodの回答は本当に便利だと思いました。
Xcode 8でいくつかのフォルダーの名前を変更したところ、さらに2つの問題が発生しました。A) "作業コピーエラーがありません"B)Core Dataがクラッシュします。
これらの2つの問題を解決する方法:
A)「作業コピーエラーがありません」
私は以下の答えが非常に有用であることがわかりました: Swift 3/Xcode 8 Upgrade-100のDerivedDataファイルが作業コピーエラーから欠落しています
基本的に、Xcode 8には厳密なソース管理があり、上記のエラーが発生する可能性があります。必ず:
私はあなたがすでにソース管理を有効にしていると仮定しています。そうでない場合、または私の指示に従って動けなくなる場合は、提供されているリンクの詳細な指示に従ってください。
B)コアデータがクラッシュする
フォルダの名前を変更すると、コアデータが台無しになることがあります。これにはいくつかの理由が考えられますが、以下にいくつかの修正方法を示します。
間違ったAppDelegateモデル名。私の状況ではそうでした。 AppDelegateに移動して、let container = NSPersistentContainer(name: "YOUR CORE DATA MODEL NAME")
を見つけます。名前が正しいことを確認してください。
将来(この投稿から数年後、AppleがCore Dataを再び変更するとき)、またはCore Dataの古いバージョンを使用している場合は、AppDelegateを注意深く見てください。そこがコアデータをいじっています。
xcdatamodeldのモデル名が正しくありません。 Finderに移動し、テキストエディターで.xcdatamodeldを開きます。
以下を確認してください。
<plist version="1.0">
<dict>
<key>_XCCurrentVersionName</key>
<string>YOUR CORE DATA MODEL NAME.xcdatamodel</string> <-- Make sure this is correct.
</dict>
</plist>
詳細はこちら: コアデータモデルファイルは名前変更時にロードされません