search
LoginSignup
1

More than 1 year has passed since last update.

posted at

updated at

3年以上放置していた個人で公開中のiOSアプリを再度申請した話

ある日のこと、Appleから1通の通知が・・・
スクリーンショット 2020-12-22 20.47.41.png

DeepL翻訳

2016年9月1日、意図した通りに機能しなくなったアプリ、現在のレビューガイドラインに従っていないアプリ、または時代遅れのアプリを評価して削除する継続的なプロセスを実施することを発表しました。
お使いのアプリがかなりの期間更新されていないことに気付きました。

ハッシュタグの管理アプリを公開中なのですが、気がついたら前回リリースから3年経過・・・
このまま削除されるのは悲しいので対応を行いました。

ダークモード対応

ストーリーボードで各種パーツのプロパティを確認したところ、WhiteとかBlackとか固定のカラーを指定している部分がありましたので、システム系のカラーに変更しました。
開発当時はまさかダークモードなんて出るとは思っていなかったので・・・

  • 背景で利用したシステムカラー
    • systemBackgroundColor
    • secondarySystemBackgroundColor
  • テキストで利用したシステムカラー
    • textColor
    • secondaryLabelColor

Simulator Screen Shot - iPhone 11 Pro Max - 2020-12-22 at 21.04.07.png

APIのDeprecated対応

URL呼び出し

API仕様が変わっていたので修正しました。
旧) [[UIApplication sharedApplication] openURL:url];
新) [[UIApplication sharedApplication] openURL:url options:@{} completionHandler:nil];

UserDefaultの保存&読み込み

こちらも最新の仕様に合わせて修正しました。
対応手順がやや複雑なのですが以下記事を参考に対応しました。
iOS12 unarchiveObject(with:) was deprecated に対応する

AutoLayout調整

ソフトウェアキーボードのアニメーションに合わせてUIパーツの位置を調整していたのですが、これもDeprecatedになっていたので対応しました。
Constraintの調整が望ましいと思ったのですが、うまい対応方法が分からず、力技でキーボードの高さとTabbarの高さを求めて対応しました。
旧) self.bottomConstraints.constant = rect.size.height - self.bottomLayoutGuide.length;
新) self.bottomConstraints.constant = rect.size.height - self.tabBarController.tabBar.frame.size.height;

App Store Connect対応

ソースコード修正以外にも色々やることがあります。

スクリーンショット追加

以下のスクリーンショットを追加しました。この作業が地味に面倒くさいです。
- iPhone6.5インチディスプレイ(11ProMaxのシミュレータを利用)
- iPad Pro(第3世代)12.9インチディスプレイ(第4世代iPadProのシミュレータを利用)

プライバシーポリシー追加

現在、AppStoreにアプリを公開するには個人・企業問わず、プライバシーポリシーの提出が求められます。
個人で1から作るのは大変なので私は以下を利用して作成しました。(あまり良い方法ではないかもしれませんが)
App Privacy Policy Generator

この辺りの対応は公式ページも参考にした方が良いと思います。
App のプライバシーの管理

その他

本件とは関係ありませんが以下のエントリーも行いました。
簡単な質問に答えるだけで対応完了です。
私のような個人開発者には嬉しいプログラムです。
App Store Small Business Program

終わりに

他にも公開中の放置アプリがいくつかあるので対応を考えないと・・・

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
What you can do with signing up
1