質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.53%

  • Xcode

    4828questions

    Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

【Xcode】「Debug-iphonesimulator」フォルダ内にあるファイルの名称変更

解決済

回答 2

投稿

  • 評価
  • クリップ 0
  • VIEW 1,603

nnnnn

score 16

前提・実現したいこと

Xcodeを使用し、アプリ開発中です。

「Debug-iphonesimulator」フォルダ内にある「(アプリ名).app」の名称変更ができず、困っています。

※「Debug-iphonesimulator」の場所:
(ローカルのファイル保存先)/Build/Products/Debug-iphonesimulator)

現状

過去にプロジェクト名を変更した事があるのですが、
「(アプリ名).app」がその変更前のプロジェクト名のままになっております。
そのために、エラーが発生しています。

エラー解除のために、
「(アプリ名).app」を変更したいと考えましたが、
変更できない状況です。

試したこと

  1.   ファイル名をFinder上で直接リネーム。
    →リネームできませんでした。

  2.   Targets内のBuild Settings > Product Nameを、
    変更前のプロジェクト名に変更。すると、エラーは無くなります。
    しかし、変更後のプロジェクト名に戻すと、エラーになってしまいます。

補足情報(言語/FW/ツール等のバージョンなど)

Xcode 8.2.1
swift3.0

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 2

checkベストアンサー

+1

もう少し情報を追加された方が適切な案が出てくると思います。例えば、次のような情報を追加されてはいかがでしょうか?

  • 表示されるエラーメッセージの内容
  • 変更したいのは何か(プロジェクト名と書かれておりますが、プロジェクトファイル名を変更したいのか、出力されるアプリ名を変更したいのか、*.appの名前はそのままローカライズしたいのかなど)

もし、シミュレータ上に以前のアプリが残っていて、上書きできずに困っているということでしたら、実機と同様に、シミュレータ上でアプリアイコンを長押しし、削除ボタンで旧アプリを削除すれば、実行できるようになると思います。

◆残っている「*.app」について
(以下、コメントで回答した内容を追加します。)

残ってしまっている「*.app」は既に必要なくなっているものなので、リネームではなく、削除でも良いと思います。正しく使用しているときは直接リネームは問題ありますが、今回は、既にゴミデータになってしまっているので、直接リネーム、または、削除した方が適切だと思います。
(「Debug-iphonesimulator」というフォルダは変更してはいけませんが、その中にある「*.app」はビルドしたときに作られるものなので、直接操作しても大丈夫です)

「/Users/ユーザー名/Library/Developer/Xcode/DerivedData」内のフォルダは、削除しても、ビルド時に作られるので、Xcode, iOS Simulatorが終了している状態でなら、削除しても大丈夫です。

◆「*.app」の名称変更
ビルドしたときに作成されるアプリパッケージ名の変更は、アプリのビルド設定の、「Build Settings」タブの「Packaging」の「Product Name」に設定します。この設定のデフォルト値は、ターゲット名が使われるようになっています。(「$(TARGET_NAME)」という設定)

ターゲットの名前変更は、ターゲットの一覧部分で編集出来ます。ターゲットを選択している状態で、もう一度、ターゲットの名前をクリックで編集可能になります。

・編集状態の画面例
イメージ説明

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/02/11 23:38

    情報を追加させていただきます、よろしくお願いします!

    ーーーーー
    ・変更したいのは何か

    プロジェクトファイル名です。
    ーーーーー
    ・表示されるエラーメッセージの内容

    CodeSign Build/Products/Debug-iphonesimulator/(変更したい名称).app
    cd /Users/(ユーザー名)/(保存先フォルダ)
    export CODESIGN_ALLOCATE=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/codesign_allocate
    export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"

    Signing Identity: "-"

    /usr/bin/codesign --force --sign - --timestamp=none /Users/(ユーザー名)/(保存先フォルダ)/Build/Products/Debug-iphonesimulator/(変更したい名称).app

    /Users/(ユーザー名)/(保存先フォルダ)/Build/Products/Debug-iphonesimulator/(変更したい名称).app: Is a directory
    Command /usr/bin/codesign failed with exit code 1
    ーーーーー

    また、今回の状況ですが、
    以前プロジェクトファイル名を変更したことがあるのですが、
    その時になぜか「Debug-iphonesimulator」フォルダ内のファイル名は変更されないままになっていたようで、
    それがXcodeをアップデートしていった際に(swift3にアップデートした際だと思います)、
    エラーとして出てくるようになりました。

    そのため、その「Debug-iphonesimulator」フォルダ内のファイル名を変更したいと考えている状況です。

    キャンセル

  • 2017/02/12 00:17 編集

    表示されているエラーは、コードサイニングの失敗メッセージです。ディレクトリに対して行っているということなので、やはり、残されているファイルが問題だと思います。

    残ってしまっている「*.app」は既に必要なくなっているものなので、リネームではなく、削除でも良いと思います。正しく使用しているときは直接リネームは問題ありますが、今回は、既にゴミデータになってしまっているので、直接リネーム、または、削除した方が適切だと思います。
    (「Debug-iphonesimulator」というフォルダは変更してはいけませんが、その中にある「*.app」はビルドしたときに作られるものなので、直接操作しても大丈夫です)

    Finderで操作できないようでしたら、ターミナルを使ってください。

    ◆削除する場合
    sudo rm -Rf "/Users/(ユーザー名)/(保存先フォルダ)/Build/Products/Debug-iphonesimulator/(変更したい名称).app"

    ◆リネームする場合
    cd "/Users/(ユーザー名)/(保存先フォルダ)/Build/Products/Debug-iphonesimulator/(変更したい名称).app"
    sudo mv "(変更したい名称).app" "(変更後の名前).app"

    キャンセル

  • 2017/02/12 00:23

    誤解されないように、もう一つ補足です。

    「/Users/ユーザー名/Library/Developer/Xcode/DerivedData」内のフォルダは、削除しても、ビルド時に作られるので、Xcode, iOS Simulatorが終了している状態でなら、削除しても大丈夫です。

    キャンセル

  • 2017/02/12 01:01 編集

    回答、ありがとうございます!

    試してしてみたところ、ターミナルを使用しなくても削除することができました。

    しかし、書いていただいた通り、
    再度ビルドすると「*.app」が作り直されるのですが、
    その際のファイル名がエラー発生時の名称のままになってしまいます。

    こちらのファイル名は、どこで設定されているものでしょうか?


    また、今回の「*.app」のファイル名ですが、
    以下のファイルにも同様の名称が設定されたまま、変更できない状態です。
    ・Users/(ユーザー名)/(保存先フォルダ)/Build/以下の
     ・Products/Release-iphoneos/「*.swiftmodule」フォルダ
     ・Products/Debug-iphonesimulator/「*.swiftmodule」フォルダ
     ・Products/Debug-iphoneos/*.app
     ・Products/Debug-iphoneos/「*.swiftmodule」フォルダ
     ・Intermediates/「*.build」フォルダ
     ・Intermediates/「*.build」/Release-iphonesimulator/「*.build」フォルダ
     ・Intermediates/Debug-iphonesimulator/「*.build」フォルダ
     ・Intermediates/Debug-iphonesimulator/「*.build」/*.hmap
     ・Intermediates/Debug-iphonesimulator/「*.build」/*.app.xcent
     ・Intermediates/Debug-iphonesimulator/「*.build」/*-project-headers.hmap
     ・Intermediates/Debug-iphonesimulator/「*.build」/*-own-target-headers.hmap
     ・Intermediates/Debug-iphonesimulator/「*.build」/*-generated-files.hmap
     ・Intermediates/Debug-iphonesimulator/「*.build」/*-all-target-headers.hmap
     ・Intermediates/Debug-iphonesimulator/「*.build」/*-all-non-framework-target-headers.hmap
     ・Intermediates/Debug-iphoneos/「*UITests.build」フォルダ
     ・Intermediates/Debug-iphoneos/「*UITests.build」/*UITests.hmap
     ・Intermediates/Debug-iphoneos/「*UITests.build」/*UITests-project-headers.hmap
     ・Intermediates/Debug-iphoneos/「*UITests.build」/*UITests-own-target-headers.hmap
     ・Intermediates/Debug-iphoneos/「*UITests.build」/*UITests-generated-files.hmap
     ・Intermediates/Debug-iphoneos/「*UITests.build」/*UITests-all-target-headers.hmap
     ・Intermediates/Debug-iphoneos/「*UITests.build」/*UITests-all-non-framework-target-headers.hmap
     ・Intermediates/Debug-iphoneos/「*UITests.build」/Objects-normal/arm64/*UITests.LinkFileList
     ・Intermediates/Debug-iphoneos/「*UITests.build」/Objects-normal/arm64/*UITests-OutputFileMap.json
     ・Intermediates/Debug-iphoneos/「*Tests.build」フォルダ
     ・Intermediates/Debug-iphoneos/「*Tests.build」/*Tests.hmap
     ・Intermediates/Debug-iphoneos/「*Tests.build」/*Tests-project-headers.hmap
     ・Intermediates/Debug-iphoneos/「*Tests.build」/*Tests-own-target-headers.hmap
     ・Intermediates/Debug-iphoneos/「*Tests.build」/*Tests-generated-files.hmap
     ・Intermediates/Debug-iphoneos/「*Tests.build」/*Tests-all-target-headers.hmap
     ・Intermediates/Debug-iphoneos/「*Tests.build」/*Tests-all-non-framework-target-headers.hmap
     ・Intermediates/Debug-iphoneos/「*Tests.build」/Objects-normal/arm64/*Tests.LinkFileList
     ・Intermediates/Debug-iphoneos/「*Tests.build」/Objects-normal/arm64/*Tests-OutputFileMap.json
     ・Intermediates/Debug-iphoneos/「*.build」フォルダ
     ・Intermediates/Debug-iphoneos/「*.build」/*.hmap
     ・Intermediates/Debug-iphoneos/「*.build」/*.app.xcent
     ・Intermediates/Debug-iphoneos/「*.build」/*-project-headers.hmap
     ・Intermediates/Debug-iphoneos/「*.build」/*-own-target-headers.hmap
     ・Intermediates/Debug-iphoneos/「*.build」/*-generated-files.hmap
     ・Intermediates/Debug-iphoneos/「*.build」/*-all-target-headers.hmap
     ・Intermediates/Debug-iphoneos/「*.build」/*-all-non-framework-target-headers.hmap
     ・Intermediates/Debug-iphoneos/「*.build」/Objects-normal/armv7/*.LinkFileList
     ・Intermediates/Debug-iphoneos/「*.build」/Objects-normal/armv7/*-OutputFileMap.json
     ・Intermediates/Debug-iphoneos/「*.build」/Objects-normal/armv7/*-master.swiftdeps
     ・Intermediates/Debug-iphoneos/「*.build」/Objects-normal/armv7/*_dependency_info.dat
     ・Intermediates/Debug-iphoneos/「*.build」/Objects-normal/armv7/*
     ・Intermediates/Debug-iphoneos/「*.build」/Objects-normal/armv7/*.swiftmodule
     ・Intermediates/Debug-iphoneos/「*.build」/Objects-normal/armv7/*.swiftdoc
     ・Intermediates/Debug-iphoneos/「*.build」/Objects-normal/armv7/*-Swift
     ・Intermediates/Debug-iphoneos/「*.build」/Objects-normal/arm64/*.LinkFileList
     ・Intermediates/Debug-iphoneos/「*.build」/Objects-normal/arm64/*-OutputFileMap.json
     ・Intermediates/Debug-iphoneos/「*.build」/Objects-normal/arm64/*-master.swiftdeps
     ・Intermediates/Debug-iphoneos/「*.build」/Objects-normal/arm64/*_dependency_info.dat
     ・Intermediates/Debug-iphoneos/「*.build」/Objects-normal/arm64/*
     ・Intermediates/Debug-iphoneos/「*.build」/Objects-normal/arm64/*.swiftmodule
     ・Intermediates/Debug-iphoneos/「*.build」/Objects-normal/arm64/*.swiftdoc
     ・Intermediates/Debug-iphoneos/「*.build」/Objects-normal/arm64/*-Swift.h
     ・Intermediates/Debug-iphoneos/「*.build」/DerivedSources/*-Swift.h

    こちらも関係ありますでしょうか?

    キャンセル

  • 2017/02/12 01:11

    「*.app」の名前は、アプリのターゲット設定の、Build Settingsタブの、Packagingの中の、Product Nameの値が使われます。

    そして、上記の設定のデフォルト値は、アプリのターゲット名になっています。直接、Product Nameの値を変更していない場合には、「TARGETS」のアプリのターゲットを選択してから、もう一度、そのターゲット名をクリックで編集出来る状態になります。

    言葉ではわかりにくいので、スクリーンキャプチャを取りました。
    コメントに画像は追加出来ないので、回答に追加します。

    キャンセル

  • 2017/02/12 03:01

    回答、ありがとうございます!

    「Product Name」の値を変更していたため、そちらを変更いたしました。
    (尚、画像でご説明いただいたターゲット名の方も、変更いたしました)

    しかし、再度ビルドした際に作られる「*.app」のファイル名が、
    変更前の名称のままになってしまいます。

    どこかにキャッシュか何か残ってしまっているのでしょうか…
    (ちなみに、「DerivedData」フォルダのデータは削除しております)

    キャンセル

  • 2017/02/12 08:41

    「product Name」は、ターゲットとコンフィグレーション単位でバラバラの値になります。「Product Name」を変更されているということでしたので、コンフィグレーション単位で別々の値になっていないでしょうか?

    ビルド設定画面でアプリのターゲットを選択している状態で(スクリーンキャプチャのここを確定している状態で選択)、「Product Name」というタイトルの左にあるディスクロージャー(三角のボタン)を開いて、「Debug」と「Release」がどちらも変更後の名前になっているか確認してみてください。

    もし、ターゲットが複数あるようでしたら、アクティブターゲットが正しく選択されているかも確認してみてください。

    キャンセル

  • 2017/02/12 16:02

    回答、ありがとうございます!

    ターゲットを選択し、
    DebugとReleaseの「Product Name」を変更してみましたが、
    「*.app」のファイル名は変更前の名称のままになってしまいました。

    しかし、このファイルですが、
    1.「*.app」を一旦削除
    2.ビルドし直す
    3.一旦、「(「Product Name」に設定した名前).app」が作られる
    4.その数秒後、「*.app」の名前に戻ってしまう
    という流れになっていました。

    「Product Name」に設定した名前が使われているようなのですが、
    その後なぜか、以前の名前に置き換わってしまっているようです…

    キャンセル

  • 2017/02/12 17:27

    不思議ですね。置き換わってしまうということは、後から何かリネーム処理が働いているということになりますね。後、考えられる可能性としては、カスタムスクリプトくらいだと思います。
    Build Phasesの中にRun Scriptなどが追加されていて、その中で、名前を変更してしまうようなスクリプトが入っていたりしないでしょうか?

    キャンセル

  • 2017/02/12 19:35

    回答、ありがとうございます、

    まず結果ですが、うまくいきました!

    Build Phasesの中にRun Scriptを見たところ、スクリプトは入っていなかったのですが、
    後からリネーム処理をしていそうな箇所を探し直したところ、InfoPlist.stringsの中に下記の記述を見つけました。

    CFBundleDisplayName = "(*.appというファイル名)";

    こちらをコメントアウトしたところ、リネーム処理が行われなくなりました!

    また、「2017/02/12 01:02」にコメントさせていただいた他のファイル名・フォルダ名に関しても、
    正しい名前で変更されるか、または削除しても問題なく動かす事が確認できました。

    長い時間をかけて教えていただき、大変助かりました、
    ほんとうにありがとうございました!

    キャンセル

  • 2017/02/12 19:53

    解決出来て良かったですね。CFBundleDisplayNameが設定されていたのですね。ご存じかもしれませんが、補足すると、CFBundleDisplayNameは本当の名前はリネームせずに、表示される文字列だけを変更する設定です。言語ごとに表示されるアプリ名をローカライズしたいときなどに使用します。

    キャンセル

  • 2017/02/12 20:15

    かなり以前に記述した箇所なので記憶が曖昧になっていました、
    近々ローカライズの処理も追加したいと考えているため、今回の事に注意しながら使ってみたいと思います、
    ありがとうございます!

    キャンセル

+1

はじめまして。

フォルダ名はデバイスごとに振られているため、リネームを許可されていません。
qiitaに参考が有ります  http://xyk.hatenablog.com/entry/2015/10/26/195155

アプリ名を変えたいとのことですのでProduct Nameではなくinfo.plist内の
Bundle Display Name を変更してみてください。

こちらを変更することで、アプリ名だけ変更し、Product Nameは旧来のままとできるはずです。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/02/11 19:02

    はじめまして、回答ありがとうございます!

    今回ですが、変更したいのはアプリ名ではなくプロジェクト名でした、
    わかりづらくて申し訳ありません。

    フォルダ名のリネームが許可されていない件、了解いたしました、

    今回ですが、以前プロジェクト名を変更したにも関わらず、
    「Debug-iphonesimulator」フォルダ内にあるファイルだけは
    変更されないまま残ってしまっており、困っております。

    直接リネームする以外の方法で、
    こちらを変更する方法はありますでしょうか?

    キャンセル

  • 2017/02/11 19:52 編集

    ご説明ありがとうございます。
    それであれば、
    http://kubou.net/archives/325

    こちらが参考になるとおもいます。
    Identity and Type を適切に変更することによりxcode側から変更要望がでます。
    元のプロジェクトを壊したくない場合には、コピーしてリネームすると良いと思います。

    お試しください。

    キャンセル

  • 2017/02/11 22:56

    再度のご回答、ありがとうございます!

    http://kubou.net/archives/325
    こちらの方法ですが、以前プロジェクト名を変更した際に
    そちらの形で変更を行い、エラー無く終わっておりました。

    しかし、Xcodeをアップデートしていった際に(swift3にアップデートした際だと思います)、
    なぜか突然エラーが出て来るようになり、
    その原因が、「Debug-iphonesimulator」フォルダ内のファイル名などになぜか以前のプロジェクト名のまま残っていることでした。

    そのため、そのファイル名を変更しようとしたのですが、リネーム不可のようで困っているところでした。
    今回教えていただいた方法で再度「Identity and Type」を変更してみたのですが、
    「Debug-iphonesimulator」フォルダ内のファイル名は変更されないようです。

    ※ただし、
    http://kubou.net/archives/325
    こちらの方法の「Prefix Header」の変更と「Library Search Paths」の変更は行うことができませんでした(Xcodeのバージョン違いのせいか、その項目が見つからなかったり、その項目に値が未設定だったため)

    この状態から、ファイル名を変更する事は難しいでしょうか?

    キャンセル

同じタグがついた質問を見る

  • Xcode

    4828questions

    Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。