こんなアプリをつくって、公開して、
本業でいっぱいっぱいだったので、アップデートはかけられていなかったのですが、
それでも海外を中心にじわじわダウンロードされていて、うれしかったです。
そんな中、一通の英文メールが来ました。
最初スパムかと思った(英語でメールなんてまず来ない)のですが、よく読んでみるとアプリを誉めてくれている内容でした。
そして後半に入ると、なんか英語についてダメ出しをされています。
元々アプリ名は、
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上の名前変更のためだけにバージョンアップ出すハメになりました。