*

バージョンアップ版があることを通知する

公開日: : 最終更新日:2017/07/18 Tips , ,

拍子抜けするほど簡単だったので、「アプリのバージョンアップの通知をどうするか」という話についてTipsを

自力でコードを組もうとした

iTunes App StoreにはAPIがあって、@”https://itunes.apple.com/jp/lookup/?id=(アプリID)”にアクセスするとアプリケーションの情報をJSONで返してくれる親切さ。バージョンや対応プラットフォーム、最低OSバージョンも含まれるので、それの比較をすればいい。比較方法については強火で進めさんの記事なんか参考に。

問題はデイバス名。調べると「このAPIで取れるデバイスString」と「アプリ側で取れるデイバスString」が一致しないらしい。変換ロジックを組まないといけないとかファッキンな状態で、ライブラリもあったんだけどiPhone7系に対応してないとかメンテの不備がありありと見える…というところで心が折れました。

ライブラリを使う

そしたらArtSabintsev/Harpyというライブラリがあって、それ使うのが簡単そうなんですよね。日本語を含む多言語対応までしてて、極めてありがたい。
ということで今まで作った俺コードを全部破棄してHarpyを使うことにしました。

(共通)Podfile

ごく普通にPodfileに追記します。

pod 'Harpy'

AppDelegateあたりに組み込む

起動ごとにチェックをかける(スキップも可にして、うるさく聞く場合の対策にする)ならこんな感じ。

        // --- スキップ可(更新/次回にする/スキップする の三択)
[[Harpy sharedInstance] setAlertType:HarpyAlertTypeSkip];
        // --- 表示するViewController
[[Harpy sharedInstance] setPresentingViewController:self.window.rootViewController];
// --- アプリ名(日本語の文脈なので「本アプリ」と入れた)
[[Harpy sharedInstance] setAppName:@"本アプリ"];
// --- AppStoreを見るときのロケール(今回は日本のみアプリなのでこうした。本体Localeを取得して合わせるべきかもしれない)
        [[Harpy sharedInstance] setCountryCode:@"jp"];
// --- チェックして、表示する場合はアラートを表示
[[Harpy sharedInstance] checkVersion];

実に楽ちんでした。

参考

強火で進め
ArtSabintsev/Harpy

関連記事

メソッドの呼び出し元を調べる

特定のメソッドに関して、そのメソッドをコールしているメソッド群を調べるための手順。 (1)調べたい

記事を読む

StoryboardからPopoverを作っても位置合わせコードは必要

これだけだとわかりづらいんですが。 XcodeのStoryboardから、Segueを"Prese

記事を読む

WSCoachMarksViewをSwiftで使う場合の手順

Objective-Cで記述されてるライブラリ全般に当てはまることもあるんですが、個別でやることも含

記事を読む

UIActionSheetが消えるときにキーボード表示/非表示通知が来る

 UITextViewやUITextField編集中にアクションシートを表示すると、アクションシート

記事を読む

Xcode5.1のInterfaceBuilderにおける地味な変更点

iOS7.1に合わせてXcode5.1がリリースされました Xcode Release N

記事を読む

HTMLParserを修正する

HTMLスクレイピングしてる時に役立つライブラリであるObjective-C-HMTL-Parser

記事を読む

アプリ内で自動スリープの設定を無効化する

「設定」アプリ内で設定したスリープ時間設定を無効にするためのコード。 アプリがバックグラウンドにな

記事を読む

Xcode10からのimage literal / color literalの指定方法

アセットにあるUIImageの直接指定が可能なImage literalですが、気がついたらアセット

記事を読む

UITableViewのヘッダに小文字を入れる

UITableViewのセクションヘッダをStoryboardでカスタマイズするという話題を以前掲載

記事を読む

GoogleスプレッドシートからCSVにエクスポートしたデータを得る方法

情報がない中さんざ苦労しましたが、Googleスプレッドシート(の最初のシート)をCSVとしてエクス

記事を読む

Xcode10からのimage literal / color literalの指定方法

アセットにあるUIImageの直接指定が可能なImage litera

Xcode11でのバージョン番号の取得方法

Xcode11になってバージョン番号をスクリプトから得て自動で更新する

GoogleスプレッドシートからCSVにエクスポートしたデータを得る方法

情報がない中さんざ苦労しましたが、Googleスプレッドシート(の最初

画面回転をしたあとに、UITextViewの先頭を表示する

回転によりサイズが可変するUITextViewで、縦向き(ポートレイト

NXDrawKitを導入してみる

ACEDrawingViewがObj-Cで書かれていて、いまいちメンテ

→もっと見る

    PAGE TOP ↑