iOS SDK 5 beta 6登場と、新OSへ対応することについて | HMDT Blog

iOS SDK 5 beta 6登場と、新OSへ対応することについて


iOS SDK 5 beta 6が出たという事で、絶賛インストール中。iOS 5もbeta 6まで到達したという事で、対応を行うアプリ開発側も本格化してくる頃でしょう。

新しいバージョンのOSが出ると、アプリ側の対応は大きく分けて2つある。一つは、新しいOSの新機能を採用する対応。やっぱり新機能はいち早く取り入れたいよね。この手の対応は、beta 1が出たらすぐ検討に入る。イケルかも?と思ったら、開発開始。beta 1から正式版リリースまでは、だいたいいつも二ヶ月くらいなので、それに間に合わせるのが必須。

もう一つは、既存アプリの動作検証。新しいOS上で、前のバージョンとまったく同じように動いてくれるかどうか、確認する。この対応は、新OSのベータ番号が上がってくれないと進めらんないんだよね。ベータバージョンが浅いうちは、Appleの問題なのか、こっちの問題なのか、よく分からない事があるから。ある程度こなれてきてから、一気に行う事になる。

新OSが出たら、昔のアプリは動かなくなるものなのか?動かなくなるのは、Appleのバグなのか?まー、これが何とも言えない。Appleのせいとも、開発者のせいとも、言い切れない事もある。

新OS対応で厄介なのは、既存のAPIの挙動が変わっている事があること。ドキュメントにも書かれずに。これ、たまにある。もちろん、追加された新規APIや、既存のAPIの引き数が変化したりしたものは、ドキュメントに書かれている。開発者側もすごく気をつけて、チェックを行う。

でもたまに、APIは変化しないくせに、中身の挙動が変わっている事があるんだよね。推測では、APIは変更せずに、実装のソースコードだけ変えたんじゃないか、って考えられるもの。これがくせもの。API変更してないから問題ないだろう、と思っていたら、なんかしらないけど動かなくなっている。がんばって調べてみると、微妙に挙動が変わっていて、それが影響したりする。

これ、一概にAppleが悪いとは言い切れないんだよね。APIドキュメントに書いてある通りには動いているから。ただ、ドキュメントに書いていない範囲の動作が、前のOSと変わっている。だから、別に嘘はついていない。素直にAPIを使っているアプリでは問題ないんだけど、ギリギリといろんな機能を追加していると、問題が出やすい。そこんところの見極めは、いつも難しいね。

あと、もう一つ厄介なのが、後方互換性の確保。iOS 5対応するには、iOS 5 SDKでビルドしないといけない。そのバイナリが、iOS 4以前でちゃんと動くか?ってのを確認しなきゃいけない。基本的には、iOS 5の新APIを使っていなければ問題ないんだけど、これもたまに落とし穴があったりする。

iOS 5対応で遭遇した問題は、まだNDAの範疇にあるはずだから書かないけど、そのうち改めて書くかも。

そうそう。Undocumented APIを使っているってのは、論外だよ。そんなことして、OSのバージョン上がるたんびにいちいち時間取られるのはバカバカしい。App Storeで配信するアプリでUndocumented APIを使うのは、リスクは高いし労力も多いから割に合わない。 nimbus cloud . Ivseiranrini .

  1. コメントはまだありません。

  1. トラックバックはまだありません。