[iOS] リズムくんにiOS 3.1.3 で問題発生、修正版Submit
公開日:
:
最終更新日:2012/10/23
iPhone
昨日 2012/09/07 リズムくんのサポートページ に、下記のレポートあり。
iOS3.1.3のiPod Touchでダウンロードしましたが、起動しません。他のアプリは動いています。 アップルストアで初期化してこのアプリだけ再インストールしても同じでした。 8月に購入後一度も起動できていない状態です。なにか対処法はありますか。
正直、Deployment Target (対応バージョン) は4.0以上にしていたつもりだったのだが、App Storeのページを確認すると、確かに 3.0以上がサポート対象になっていた。
iOS 3.x は初代 iPod touch で確認していたのだが、最近調子が悪く動作確認に使えないことが多かったので確認がおろそかになっていたのだが、今回久しぶりに起動してみたところ、確かに起動途中で落ちてしまう。
どうやら iPod touch 初代だと NSZombieEnabled などをOnにしているとデバッグ起動すらしてくれないようだ。
それらは一通りオフにすると、ちょっと先に進むが、やはり落ちる。
検索してみたら解決策は StackOverflow で見つかった。iOS 4.0で追加されたAPIを使っているためだ。
それは確かに落ちてしまう。
iphone – – UIWindow setRootViewController: equivalent in pre 4.0 – Stack Overflow
しかしそれを直してもまた落ちる。
今度は、進捗表示に使っている samvermette/SVProgressHUD が iOS 4.0 で追加された Blocks を使っているためだった。
iOS 4.0 未満では進捗表示はあきらめて、OSのバージョン番号を比較する方法 – 強火で進め でバージョン判定して呼び出さないことにして回避した。
- (BOOL)respondsToSelector:(SEL)aSelector;
を使ってメソッドの存在を確認するのがよいだろう。
たまたまこのアプリでは Blocks を多用していなかったので、とりあえずここまでの対応で、起動して一通り動作することが確認できた。
このバージョンをリズムくん 1.4.1 としてリリースすることにする。
今回はサポートするけれども、確認がしんどいので次のバージョンアップからは iOS 3.x は非サポートとしたいなと思う。
多くのユーザはすでに iOS 5.x に移行していると思われ、iOS 4.x もサポートされなくなってきている昨今なので… そもそも 3.x はマルチタスクもサポートされていないくらい古いバージョンですし。
ということでご迷惑をおかけしましたがAppleの審査が終わり次第、近いうちにリリースされますのでよろしくお願いします。
関連記事
-
Apple Watch用バッテリーロガーを公開しました
1年前に開発し、App StoreにSubmitしたものの Rejectされ続けていたアプリをその
-
2009年10月発売のiPhone SDK関連書籍
10月には Beginning iPhone 3 Developmentの続編とApressが言って
-
iPhone 6 Plus iSight カメラ交換プログラムに行ってきた
iPhone 6 Plus iSight カメラ交換プログラム - Apple サポート の発表があ
-
[iOS本] Objective-CによるAutoLayout 解説本 (iOS7/iOS8)
UIKit徹底解説 iOSユーザーインターフェイスの開発 posted with カエ
-
iOS9から[NSLocale preferredLanguages] の出力が変更された
以前ツイートした内容を自分で忘れていて検索する羽目になったのでブログにも書いておく。iOS9から、
-
Alpha値だけのPNGファイルを作成する
Cocoaの日々: UIBarButtonItem にカスタム画像を表示する にあるようなalpha
-
MacOS Yosemite に Pebble SDK 3.0 をインストールする
Pebble Timeが届いたので、早速 Pebble SDK 3.0 をMacBook P
-
[iOS9] jQuery Mobile のBackボタンが動作しない
自作アプリ EverLearn や Reibun でヘルプファイルの表示用にローカルに保存した jQ
-
[iOS SDK] 処理中の表示に便利 SVProgressHUD
以前 MBProgressHUD の記事を書いたが、たまに使うと使い方をすっかり忘れている。 やり