iPhone デベロッパーズ クックブック

エージェントからジュンク堂で先行販売しているとの情報を得たので意気揚々と買いに行く。

コンピュータ関連のフロアのエスカレーター降りたあたりに平積み。さらにiPhone関連の書棚にも置いてあった。ていうかそもそも「先行販売」って普通にやっているものなの?割と最近耳にするのだけれど。まぁ買えたので細かいことはいいや。

内容ですが、ぱらぱらと見た感じ、アップルが書かなかった事にもかなり言及している印象。それに対して一応釘は刺してる。OSのバージョンが上がった際に使えなくなるかもしれない等々。最近のApp Storeって審査基準が変わったような気もするのだけれど、あくまで自己責任だよね。通るかもしれないしリジェクトされるかもしれない。ちょっと試してみようかという気もする。

iPhone SDKのNSURLConnectionでオレオレ証明書を許可する方法

とあるサーバーにPOSTのリクエストを送信した所、エラーになるのであれこれ悩んでたんだけれど、要するにSSLが自己証明書だったため、エラーになってしまったというオチだった。

ちょっとググるとみなさん苦労されているようで、以下のようなカテゴリを実装する事で回避はできるようになった。

http://www.phapper.com/Default.aspx?g=posts&m=8

1
2
3
4
5
6
@implementation NSURLRequest(NSHTTPURLRequest)
+ (BOOL)allowsAnyHTTPSCertificateForHost:(NSString *)host
{
     return YES; // Or whatever logic
}
@end

同じサーバーにMobile Safariでアクセスすると、証明書の不備を伝えるアラートが出て、このまま通信を進めるか、キャンセルするか選択できるようになってますな。特定のサーバーとの通信ならまだしも、不特定のURLを扱うようなアプリの場合、ちゃんとエラーハンドリングした方が良さそう。

iPhone OS 2.2.1

唐突にiPhone OS 2.2.1がリリースされていたので、当然インストールしてみた。

Safariの安定化とカメラロールに保存された画像が正しく表示されない問題が修正された。Safariの安定化はよく判らないけれど、カメラロールの件はカメラアプリ等で800 × 600の画像をOS 2.2で保存するとカメラロールで見た時にボケボケになるってやつでしょ。

半分遊びで作っているカメラアプリでも実際にそのような現象が起きていたのだけれど、OS 2.2.1にしたら正常に表示されるようになった。

という事は、カメラアプリはOS 2.2のバグを考慮しながら作らなくちゃいけないのか。切ない。

OS 2.2から挙動が変わってしまったUISliderだけれど、OS 2.2.1でもサムの部分しか反応しないのは変わりありませんでした。trackEnabledYESを渡せば以前と同じようにバーの部分も反応するようになるんだけれど。

iPhone OS 2.2のUISliderの挙動が変

iPhone OS 2.2にしてからElectric Sheepの速度設定のスライダーの反応が悪いなぁと思ってたら、真ん中のサム部分しか反応しない様子。

以前はというと、バーの部分も反応したし、最小値/最大値のイメージ部分をタップすると直接最小値/最大値になったりしたのに。

環境設定内の音量や輝度のスライダーも同様の動きをしているので、2.2からの仕様変更らしい。あるいはバグ。後でSDK 2.2落として確認してみよっと。

Pending Contract問題

Electric Sheepは、巷で悪名高きPending Contract問題には引っかからなかったようだ。ただ問題はまだまだ解決していないようなので、何かの役に立つかもしれないので忘れないうちに経緯をメモしておく。

時系列で言うと、iPhone Developer Programに申し込んだのが9月15日。個人アカウントで申し込んだ。先人の教えにより、わざわざすべて英語表記で新規にApple IDを取ったのだけれど、最終的にApple Storeの購入画面で普段使っているApple IDでログインして購入してしまった。Appleから届いた「You are now a Registered iPhone Developer.」メールに「Dear ?? ??」となっている。嫌な予感がするけど、この時点ではそれ以上何もできなかった。

翌日AppleからActivation Codeのメールが届く。やっぱり「Dear ?? ??」になっている。嫌な予感は的中するもので、Activationに失敗した。フォームからADCに事情を英語で書いて送信したらすぐにアカウントの調整をしてくれた。今度はちゃんとActivateできた。秘密の部屋にも入れた。めでたしめでたし。

そこからコード書いたり証明書を整えたり実機転送したり。

で、

  • 11月3日にAppleにバイナリをsubmit。
  • 色々面倒だったのでフリーアプリケーションにする。
  • iTunes ConnectのManage Your ApplicationsのStatusはIn Review。
  • 11月4日にアプリケーションの表記をスペースで区切る修正を入れる。
  • StatusはIn Reviewのまま。まんじりと過ごす。
  • 11月7日にAppleからReady for Saleメールが届く。
  • StatusがReady for Saleになってるのを確認。
  • 一時間後くらいにApp Storeを見ると並んでた。

ということで実質アップロードしてから5営業日。

実際のところはどうなのかわからないけど、レビューは人海戦術だって聞いたことがあるので、アプリケーションの規模によってはレビュー自体の時間も変化するのかもしれない。人手が介入するのならもう少しきめの細かいステータスの変化が判るといいのにね。

次はPaid Applicationに挑戦してみる。