[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の審査が終わり次第、近いうちにリリースされますのでよろしくお願いします。
関連記事
-
[iPhone SDK] 日時のローカライズ
自分でも何度か調べてしまったので記録しておく。 Objective-Cで日時を表示したい場合、単純
-
自作iPhoneアプリ いろいろレビュー依頼
アプリ制作日誌 #app_24: iPhoneアプリのレビューを、寄稿・依頼できるサイトまとめ。 と
-
MacFan 2017年5月号でアプリ紹介されました
Mac Fan 2017年5月号 でおんぷちゃん for iPad を紹介していただきました。ありが
-
[iPhone SDK] sqlite 学習中。FMDB を知る。
SQLite入門 第2版西沢 直木 翔泳社 2009-05-19売り上げランキング : 17582
-
[iPhone SDK] Apple Push Notifiction Service (APNs)対応 その1
Apple Push Notification Service (以下、APNs) を使ったiPho
-
[iPhone6plus] 買うかかなり悩み中
9/19 に発売されてからiPhone6Plusを買おうか、買うならいつ買おうか、キャリアは
-
プログラムを使ってiPhoneアプリを終了する方法
「ゲームを終了しますか? YES」的なダイアログを出してアプリを終了しようと思ったときに、どうするか
-
WWDC 2010 開幕
去年と違って今年はすっかりTwitterが一般化しているので、WWDCに行く人たちの様子がよくわかる
-
[iOS本] Objective-CによるAutoLayout 解説本 (iOS7/iOS8)
UIKit徹底解説 iOSユーザーインターフェイスの開発 posted with カエ
-
Xcode 13.3 アップデート
iPhone 11 Pro Max の iOSを15.4に上げてしまったため、Xcode 13.2