バージョンアップ版があることを通知する
公開日:
:
最終更新日:2017/07/18
Tips Obejctive-C, バージョンアップ, ライブラリ
拍子抜けするほど簡単だったので、「アプリのバージョンアップの通知をどうするか」という話について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];
実に楽ちんでした。
参考
関連記事
-
-
Bitbucket課題の記法サンプル
Bitbucketの課題、およびwikiで利用できる記法についての記事です。 利用できる記法に
-
-
iOS8のシミュレーターでLocalizationのテストをする
iOS8.1のシミュレーターでは、従前できていたシミュレーター内での「設定」(Setting)からの
-
-
UISplitViewControllerの仕切り線の色を設定
UISplitViewControllerで、iPadを横向き(Landscape)にしたときの2つ
-
-
UIActionSheetの文字がブレて多重表示される
UIActionsheetを使っていて、iOS7/iPadの組み合わせで起こる不具合らしき挙動が起こ
-
-
iOS6時代のアプリのiOS7への対応
やや古い情報になるが、iOS7対応に関して自分がやったことの覚え書き。いろんな所から拾って来た情
-
-
NSAttributedStringをローカライズする方法
NSAttributedStringをLocalizeするうまい方法はないものかと探したら、これが手
-
-
HTMLParserを修正する
HTMLスクレイピングしてる時に役立つライブラリであるObjective-C-HMTL-Parser
-
-
NSStringのフォーマット書式
Appleのページになく、IEEEのprintfフォーマットのページにあるので、C言語と親しくしてな
-
-
Realmで==ができなかった
最近Realm Swiftを使ってて、引っかかったところがあるのでメモ。 Realmのオブジェクト
-
-
bitbucketをXcode5で使用する
bitbucketは無償で5人までの少人数チーム用のクローズド(非公開)リポジトリを作成できるため、
