この12月は、App Storeへのアプリケーション申請を、ここまで7本行なった。アップデートも含んでいるけど、たくさんやったよ。審査も通って、続々とApp Storeに登場するでしょう。なんか、最近は申請通るのが速くなった気がする。一週間くらいで通るね。
HMDT Journal
December, 2009
Dec 19
登場したアプリは追々ここでも紹介するけど、その中にiMandalArt 2.0がある。iMandalArtのバージョンアップだ。主に、ユーザから要望の多かった機能の追加を行っている。マンダラのインポート/エクスポートや、バックアップ機能、さらにパスコードによるロック機能などだ。
バージョンアップするときは、それはもちろん入念にテストを繰り返した。いろんな可能性を考えて、問題を潰していった。だけど、実際にアップデートするときは、いつもドキドキする。本当に大丈夫だろうか、ってね。いまのところ、多くの人からポジティブなフィードバックをもらっているんで、ほとんどの場合は大丈夫だと思う。
ただ、いろんなケースを検討していると、稀にアップデート後に起動できない可能性があるかもしれない、ってことが分かった。ここのところの表現は微妙で、アップデートすると必ず問題が発生する訳じゃない。でも、完全に100%問題が起きないかというと、いやアップデート後に起動できない自体が発生する可能性があることが分かった。回りくどいいい方だけど、こうとしか言いようがないんだよね。
症状としては、2.0にアップデート後、起動しようとすると赤い画面のスプラッシュスクリーンが出るが、アプリが立ち上がらず終了してしまう。原因は、判明した。対策もほぼできていて、検証をしている。さらに大事なのは、この問題が発生しても、前のデータが消えてしまうことは無い。修正したバイナリがあれば、前のデータを読み込んでアップデートできる。
てなことで、もし万が一iMandalArt 2.0が起動しないという問題が発生した人がいたら、開発元としては問題を認識しており、近日中に修正されます、ということをお知らせしておきます。これから新規にiMandalArtを購入しようと考えている人は、新規データを作成するときは問題は無いので、安心して購入してください。
Dec 14
最近、App Storeでのアプリの審査が、プライベートAPIの使用について厳しくなったみたいだ。あちこちのブログとかでそんな話が出ているし、うちもそういうレポートをもらったものもある。確かに、App Storeのスタート当初から「プライベートAPIは使っちゃだめ」とは規約に書いてある。でもプライベート使ったソフトなぞ山のように審査通っているし、何をいまさら、という感はありありだ。
想像するに、審査の現場に何らかのプライベートAPIをチェックするためのツールが配布されたんだと思う。これを使ってプライベートを使っているかどうかチェックしろよ、と。こういったツールを作るのは簡単だ。class-dumpと似たようなことを行えばいい。プライベートAPIを使うのも簡単ならば、使っているのを発見するのも簡単だ。Objective-Cだからな。
なぜAppleはプライベートAPIを使うのを禁じるのか?この動機がよく分からんのだよねー。新しいOSがリリースされると動かなくなるから?でもそれはAppleの責任じゃなくて、ソフトウェアベンダーの責任だと思うけど。だいたい、プライベートAPI使わなくとも、新OSのリリースで動かなくなる要因なんて膨大にあるんだから、これだけ禁止したって意味ないっしょ。
じゃ、逆に開発者がプライベートAPIを使う理由は?それは、実現したい機能がそれを使わないとできないから。あんな機能とかこんな機能とかそんな機能とかは、プライベート使わないとできない。パブリックだけじゃできない。でもやりたい。そんなときはプライベートを使うしかない。あと、ユーザからの圧力もある。「Safariやメールにある、あんな感じの機能を入れてください」っていう要望は多いんだけど、ごめん、それはプライベートAPI使わないとできないんだ。
今回どうやら審査が厳しくなったみたいだけど、これによってプライベートAPIを使ったアプリは駆逐されるのか?ぜぇんぜぇん、そんなことはない。ここ数日だって、プライベートAPIを使っているに違いないソフトが堂々と審査を通過してApp Storeに登場している。だいたいさ、ある程度iPhone開発をやっているプログラマなら、アプリの仕様を見ただけでそれがプライベート使っているかどうかなんて分かるんだよ。そんなのが審査を通っているのはどういうことか?審査を行っている人間が、iPhone開発のことなんか全然理解していない、ということだと思う。与えられたツールを使って、機械的にチェックを行って、はいおしまい、ということだと思う。
つまり現在のところ、あるアプリはプライベートAPIを使っているという理由で審査に落ちる。あるアプリはプライベートAPIを使っていても審査を通過し、App Storeに登場して喝采を浴びる。ここから受ける印象は「アンフェア」だ。「不公平」感だ。私はAppleによるApp Storeの審査には不公平を感じている。それは審査を行う人間の能力に起因していると思っている。そもそもプライベートAPIを完全に閉め出すことなんて、技術的にも動機的にも不可能だ。
では、こんな状況において、どう振る舞うべきか。プライベートAPIを使っていると思われるソフトをAppleに通告する?いや、そんな自分たち開発者の首を絞めることはしない。プライベートAPIを使いながら、Appleの審査をすり抜ける方法を模索するだろう。簡単だし。知りたい人は、「Dynamic Objective-C」でも読んでくれ。
Dec 7
本日12/7の18:00から、銀座のApple Storeでイベントやります。再告知です。内容は、以下の通り。
23万語収録のiPhoneとiPod touch向け国語辞典アプリ「デジタル大辞泉2009i」(小学館)のフルリニューアルを記念してイベントを開催します。明朝体の採用、手書き入力、画像検索など、ますます美しく機能的になったデジタル大辞泉の魅力を、開発者であるHMDT株式会社の木下誠氏を迎えてご紹介します。
イベントで予定されていることをちらっと書くと、まず新バージョンの大辞泉の紹介。次に、大辞泉の魅力を、小学館の編集の方とHMDTとの対談の形で、いろいろとお話。開発秘話なんかも登場する予定。あと、実際にユーザの方に触ってもらう、体験会もあるよ。
平日のイベントなんで、ちょっと集客が心配。近くでお仕事されている方は、帰りにちょっと寄ってくれると嬉しいです。
最近さー、iPhoneを触らないでも操作できるようになってしまった。指をiPhoneの画面に近づけて、1cmくらいのところで「ふっ」と念じるとちゃんと動かせるの。タッチからアンタッチへ。iPhoneの操作も、極めるとここまでくるんだね。
という冗談はさておいて、これって静電気だよね、たぶん。セーターとか、静電気発生しやすそうな服よく着てるし。これが起きるとiPhoneの操作がもう無茶苦茶になって。指を空中に浮かせているだけで、次々とボタンを押していっちゃうし。いちばん困るのが、キーボードの操作。一回タップしたつもりが、周りのキーを滅茶苦茶に押しまくる。どうにかならんのかね、これ。