Blog日々のアプリ開発についてや雑記など。Swiftこの記事では、アプリを起動したとき、新バージョンがリリースされていることをユーザに伝え、アップデートを促す仕組みの実装方法を紹介します。強制アップデートはゲームアプリなどでよく見る仕組みですね。強制力の強いものだと、アップデートするまで、アプリを利用できなくするものもありますが、必ずしもアップデートできる通信環境に居るとは限らないため(地下鉄に乗っているときなど辛い)、アップデートを促すまでに留めた半強制くらいが僕は好みです。アプリのバージョンに乖離が生じると、最新機能を提供できないのはもちろんのこと、既存機能を改修しづらくなってきます。DBのマイグレーションを何世代かに渡って行っているとき、バージョンが飛んでいると思わぬバグを踏んだりします。アップデートは放っておいてもされていくものと思っていましたが、計測してみると意外にも乖離していることが分かりました。Sketchの例を見ても、バージョンのばらつきが見受けられます(離脱ユーザも含まれているため、正確な数字ではないですが)。Sketchにも導入しています。APIを利用しています。Storeで配信されているアプリの情報を無料で取得することができます。v5を使用しています。Storeから配信されるようになった段階で、取得できるアプリ情報のバージョンが自動的に最新のものになるため、自前で配信バージョンを管理するサーバを立てる必要がありません。最新バージョンの更新し忘れとかも起きません。<YOUR_ITUNES_ID>の部分にはバージョン情報を取得したいアプリのiTunesIDに置き換えてください。Store上のアプリのページを開いたときのURLに表示されています。同様にstoreURLStringも置き換えてください。iTunesIDを調べる上記の実装では1日1回バージョンの更新チェックをするようになっています。バージョン比較は、major.minor.patch形式のバージョン文字列をドットで分割しInt型に変換(versionToInt(_:)メソッドを見てください)したもので比較しています。上記のやり方ではminorとpatchは0~999の1000ステップしか値を取れませんが十分でしょう。AppStoreクラスを使うときはViewControllerで以下のようなメソッドを作っておき、viewDidAppearやUIApplication.willEnterForegroundNotificationをオブザーブしたメソッドなどで呼び出します。"アップデートしてください。}}以上の実装で、新しいバージョンがリリースされたことをユーザに伝えることができるようになりました。半強制アップデートの仕組みを導入したことでアップデートが促進されるか楽しみです。engineer使いやすさと美しさを目指して、日々、アプリ開発しています。TODO』(iOS)、『メモアプリ』(Android)の作者。ver.2.2.0がリリースされました!2020年1月のアプリ収益は1,631円でした。メモアプリver2.1.1をリリースしました。(3)はてなブログをはじめよう!hituziandoさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。