LoginSignup
13
6

More than 3 years have passed since last update.

公開済のiOSアプリのアプリ名を変えたときにハマったこと

Posted at

こんなアプリをつくって、公開して、
本業でいっぱいっぱいだったので、アップデートはかけられていなかったのですが、
それでも海外を中心にじわじわダウンロードされていて、うれしかったです。

そんな中、一通の英文メールが来ました。
最初スパムかと思った(英語でメールなんてまず来ない)のですが、よく読んでみるとアプリを誉めてくれている内容でした。
そして後半に入ると、なんか英語についてダメ出しをされています。

元々アプリ名は、

Like a Paper

という名前で、僕的には全く違和感なかったです。
(皆さんはどうですか?)
「a paper」で、「(なんでもないただの)紙」を表せている……と思っていたのですが、メールくれた方は英語ネイティブで、
「アプリ自体は素晴らしいし、気に入ってるけど、アプリ名はちょっと変だよ笑」
みたいなことを言っています。

その後よく調べてみると、"paper"は通常不可算名詞で、「一枚の紙」と言いたければ、"a piace of paper"などの表現になるようです。
"a paper"だと、一枚(一日分?)の新聞というニュアンスで、意図したかった「ただの紙」という表現にはならない、と気づきました。

というわけで、公開済みのアプリ名を変更することにしました。

そもそも公開済みのアプリ名は変更できる?

これは結論、できます。というかできました。

公開済みじゃなかったら?

もしstore公開前に、アプリ名を変更しなきゃいけなくなったら、プロジェクトファイルごと作りなおすのをオススメします。
新プロジェクトで、つくったコードをコピペで移すのがいいと思います。
アプリ名の変更はかなりめんどくさいです。

やったこと

まずXcode上でプロジェクトファイルを選択して、Display Nameを変更。
(たぶんここはほとんど何も影響しない)
それからプロジェクトファイル名を変更しました(.xcodeprojの名前を変える)。

経験上、Finderからディレクトリ名・ファイル名操作すると悲惨なことになることはわかっていたので、基本Xcodeから操作しました。

プロジェクト名を変えると、ワーニングが出て、「付随して色々変わるけど大丈夫?」みたいな確認が出るので、OKにして進みます。
その後クラスの入っているディレクトリ名/テストの入っているディレクトリ名もXcode上から変更しました。(app/appTests/appUITests)

ここまでで一旦ビルドしてみると、ビルドがコケました。エラーを見ると、plistのパスが通らなくなってました。
Built Settingのところで、旧アプリ名でFindかけると、plistのパスが古い形式で指定されていたので、そこのパス名を書き換えました。

その後、Finder上で親ディレクトリも名前を変更しました。
別にやらなくてもいいんでしょうけど、気になってしまって……
Xcodeを開いたまま親ディレクトリをおもむろに改名すると、Xcodeがエラーになりますが、普通にFinderからもう一度開くと、いい感じにパス名が引き継がれていました。

が、ビルドすると問題が起きました。

<unknown>:0: error: PCH was compiled with module cache path

最初キャッシュが残ってるだけなので、クリーンビルドでイケるだろうと思ったら、ダメでした。
Altつきの強いクリーンビルドやってもダメ。
ググるとXcodeの環境設定のLocationをDerivedDatadからDerivedDatad2にすればビルドできるよ、みたいなこと書いてあって、
確かにそれでもできるんですが、ちょっと気持ち悪いので、

こちらを見て、DerivedDatadの中の「LikeAPaper」(旧アプリ名)と「ModuleCache.noindex」のディレクトリをワイルドに全削除しました。
すると無事ビルドできるようになりました。

変更できないところ

さてApp Store申請しようと思ったら、完全に別アプリ扱いになっていることに気づきました。
iOSアプリはBundle Identifierを変えると別アプリ扱いになり、
思いっきりその中に旧アプリ名を入れてしまっていたので、残念ながらここは恥ずかしい英語ミスが残ることになりました。

またアプリ内でファイルWriteしてるんですが、そのファイル名も旧アプリ名を入れたファイル名にしていたので、ここにも残ることになりました。
アプリ名やディレクトリ名変えたことが影響して、ファイルパスが通らなくなるんじゃないかな? バージョンアップ前のデータをちゃんと読めるかな? という不安があったんですけど、
パス名をよく確認したら、アプリに対して環境内で一意に定まるようなパスになっていて、
Bundle IDさえ同じだったら、そこは上手いことやってくれてました。

まあユーザーからは見えないから別にいいかなとは思います。

あとSKUも変更できません。

逆に言えば、SKUとBundle ID以外は、たとえ公開済みであっても変更可能でした。

App Storeのアプリ名はApp Store Connectから変える

ここまでやって審査出して、通ってから、App Storeの名前が変わってないことに気づきました。
アプリ名が変われば自動でStoreの名前も変わるかと思ってましたが、別モノでした。

App Store Connectの一般→App情報からアプリ名が変更できるので、変えました。
ちなみにレビュー済になってしまうと、この項目が編集できなくなるので、僕はわざわざStore上の名前変更のためだけにバージョンアップ出すハメになりました。

13
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
6