iOSのStore用スクショで左上のdebugラベルを消す方法
Store提出で”debug”ラベルが邪魔?
iOSアプリをApp Storeに提出する際、スクリーンショットに左上の”debug”ラベルが表示されてしまうことがある。
これは開発ビルド(Debug)で起動したアプリに対して、一部のフレームワーク(例:FLEXやcustom debug overlay)がラベルを表示しているためだ。
なんで勝手にラベル出るの!?
このラベルは本番(Release)ビルドでは表示されないのが普通。
つまり、スクショ撮影時に「Release設定」でビルド&実行すれば回避できる。
開発者用のラベルだから、本番用ビルドでちゃんと外れるぞ。
スクショ用のReleaseビルド方法
1. Xcodeのスキームを編集
Xcodeで上部のスキーム選択メニューから”Edit Scheme…”を選ぶ。
“Run”タブの”Build Configuration”を”Release”に変更する。
あ、Debugから変えるだけでいいの?
2. LaunchでSimulatorを選ぶ
通常、Releaseビルドは実機用だけど、Simulatorでも動かせるようにSchemeを編集すればOK。
“Executable”が”Ask on Launch”でSimulatorを選択すれば、Releaseビルドでもスクショが撮れる。
SimulatorでもReleaseビルド動くように設定すれば完了!
3. アプリ内にdebug表示してるコードを確認
もしReleaseビルドでも”debug”ラベルが消えない場合、以下を疑おう:
– ラベル表示コードが`#if DEBUG`で囲われていない
– `Environment`や`UserDefaults`でdebugフラグが有効になっている
– 表示中のViewが条件に関係なく常に表示されている
Releaseでも残るのヤバくない!?
// こうすればReleaseでは表示されない
#if DEBUG
window.addSubview(DebugLabel())
#endif
まとめ
App Store用のスクリーンショットで”debug”ラベルを消すには、XcodeのSchemeを”Release”に切り替えてからSimulatorで実行するのが確実。
それでも表示されるなら、コード内でDEBUG条件を見直そう。
…
最後はコードチェック!見落としがちなdebugフラグも忘れずにね。
[/gorilla>


コメント