iPhoneアプリ開発ブログ
App Store Lesson 4: 4つの細かい注意点
- 2008-12-08 (月)
- AppStore
引き続きまして第4回です。要点は、以下の通りです。
- 大きいアイコンと小さいアイコンは同じものに
- アプリからリンクしているウェブページは審査時には準備しておくこと
- “beta”という言葉はどこにも使わないように
- 未公認の周辺機器のことにはふれないように
原文:App Store Lessons: 4 Quick Reasons to Mind the Details
AppStoreにアプリを提出するときには必ず、”I”と”T”が間違っていたりしないかを確認すること。そんなばかばかしいミスでも、アプリがRejectされればリリースが遅れるという高いコストを払うことになるわ。今回は、しっかりと確認することがどれだけ重要かがわかる、実際にあった4つのRejectの例を紹介するわ。
1. アイコンの不一致
アプリをAppStoreに提出する際には、512*512pxの大きいアイコンと57*57pxの小さいアイコンの見た目が全く同じであることを確認しましょう。大きいアイコンはAppStore用ね。大きいアイコンと小さいアイコンの見た目が違っていると、アプリはRejectされるわ。そうなってしまったら最後、アイコンを直して再提出して、列の最後に並び直すしかないの。
2. 恐怖の404
アプリに何の問題もなくても、サポート情報に注意。ある開発者の方が教えてくれた悲劇なんだけど、彼のアプリは、プログラムの中から審査時にはまだ公開していなかったウェブページにリンクしていたの。もちろん、Rejectされたわ。結局、ページのリリースを数週間前倒しして、再申請しなければならなかったの。
3. “Beta”はラテン語の”Reject”に由来する
アプリの名前にも説明にも、”Beta”という言葉を入れないようにしましょう。もし入れてしまえば、実際に結果が返ってくるのは数週間後かもしれないけれど、そのアプリは即座に”Reject”されるわ。AppStoreはBeta版を絶対に認めないの。だから、アプリのバージョンはかならず1.0以上にするようにね(version 0.995 だってRejectされるかもしれないわ)。そして、”Beta”という単語はどこにも書かないように。サポート情報のどこかに”Beta”と書いてあれば、アプリそのものがベータ版であるとみなされるわ。
4. 未公認の周辺機器のことにはふれないように
「Voice Notes」を初めて提出したとき、3ヶ月もかけてRejectされるなんて夢にも思わなかったわ。最終的には、“第1世代のiPod touchを使っているユーザーは、外部マイクを買えばこのアプリを使える”ってことを説明文の中で書いていたことが判明したの。それらの製品は未公認だったってわけ。
これらの例から、アプリのパフォーマンスと品質には全く関係のない4つの些末な注意点が分かるわね。いずれも細かいことだけど、時間や、手間や、リリースの遅れというコストは高く付くわ。例えば私の場合、「Voice Notes」はそのせいで大失敗。4ヶ月近く遅れてリリースされたときには、音声記録カテゴリではほかのアプリが定番の位置を占めてしまっていて、もう勝ち目はなかったの。高い授業料ね。
関連する投稿
- Comments: 0
- Trackbacks: 1
iPhone OS Programming Guide 日本語版の注意点
- 2008-12-07 (日)
- ドキュメント
うれしい日本語版ですが、英語の最新版についていけていないので注意しましょう。現在、英語版は2008/11/12、日本語版は2008/7/8となっています。いつの間にか、ドキュメントのタイトルも「iPhone Application Programming Guide」に変わっていますね。
iPhone Application Programming Guide: Document Revision History
こちらの改訂履歴だけでもチェックしておいた方がよいかもしれません。といっても今のところ内容の組み替えが中心で、大きな変更はないようですが。強いていえば、チャプター「Text and Web」の追加くらいでしょうか。
関連する投稿
- Comments: 0
- Trackbacks: 0
「Amazon Mobile」には中の人がいた
- 2008-12-05 (金)
- ニュース
写真を送るとそこに写っている商品をAmazon.comから探して教えてくれるiPhoneアプリ、「Amazon Mobile」。てっきり高度な画像認識技術を使っているのかと思っていたら、どうやら「中の人」が探してくれていたとのことです。
iPhoneで撮影した品物を、Amazonサイトが「人力検索」 | WIRED VISION
一見するとジョークのようにも思われますが、中の人への報酬として支払われる報酬が数セントであるとすれば、リスティング広告と同じようなものですのでおそらくペイするのでしょう(しばらくはお試しユーザーが多くコンバージョン率が低いかとは思いますが…)。
使われている「人力検索」サイトもアマゾンのサービスである「Amazon Mechanical Turk」ですので、そのプロモーションにもなって一石二鳥ですね(自分もこのサービスの存在を久しぶりに思い出して、何かに使えないかなーと考えてしまいました)。
(追記)元々、結果が返ってくるまで数分間かかっていたことから人力であることを予想している人もいたようですね。
関連する投稿
- Comments: 0
- Trackbacks: 0
App Store Lesson 3: 何度も挑戦しよう
- 2008-12-05 (金)
- AppStore
第3回です。要点としては、
- アプリの審査で不当なダメだしをされた場合は、気にせずそのまま再トライしてみると今度は通ってしまうということもある
原文:App Store Lessons: Try and try again
これは本当に起こった出来事よ。私のことじゃないけど(本当よ!)。友達がアップルにアプリを提出したの。2~3週間後、ばかげたRejection Letterが返ってきたわ。そのLetterでは、アプリそのものに関することよりも、レビュワー本人に関することにより多くの文章を割いていたの。つまりアプリが、Apple Human Interface Guideラインにはない、そのレビュワーの思い上がった頭の中だけにあるユーザーインタラクションのルールに違反している、って。
友人は私にメールをしてきて怒りをぶちまけたわ。このレビュワーからだめ出しをされるのは初めてじゃない、彼にはイライラさせられっぱなしだ、って。アップルはこのような苦情に返事を出したことは一度もないし、Rejectionに意義を唱える方法も用意していないわ。でもここからがおもしろいの。一日かそこら経って落ち着いたら、友達はとにかく前進しようと決めて再申請をしたの。アプリは何一つ変えることなしにね。
どうなったかお分かりでしょう?少し考えればオチは明らかよね。そう、その通り。見事承認されたの。何の修正もしていないのに。今はちゃんとAppStoreに並んでいて、あなたも買うことができるわ。
このエピソードから分かるのは、AppStoreからのRejectionは時としてとっても独断的で気まぐれだってこと。開発者であるあなたがそれにあわせる必要はないわ。最初はうまくいかなくても、何度もトライすればそのうちすんなりいくってこともあるんだから。
関連する投稿
- Comments: 0
- Trackbacks: 0
ホームスクリーンに表示されるアプリ名をローカライズするには
- 2008-12-04 (木)
- iPhone SDK / Cocoa / Objective-C
InfoPlist.stringsという名前の、ローカライズされたファイルを作成し、その中に
CFBundleDisplayName = “(アプリ名)”;
と書いておけばOKです。
関連する投稿
- Comments: 0
- Trackbacks: 0
UIViewのスクリーンショットの画質を良くしたい
- 2008-12-04 (木)
- iPhone SDK / Cocoa / Objective-C
UIViewの中身を画像ファイルとして写真アルバムに保存するには下記のような感じでいけるのですが、これだとどうも画質がいまいちです。
UIViewスクリーンショットをライブラリに保存する方法 - まひるのiPhoneラボ - iPhoneアプリ開発グループ
Jpegの圧縮率は UIImageWriteToSavedPhotosAlbum が勝手に決めてしまっていて、自分で指定することはできません。それならばと自力で処理する方法を探してはみたのですが、写真アルバムにファイルを保存することができません。これは、セキュリティへの配慮により、アプリケーションが読み書きできるのは Application Home 以下のファイルに限られているためです。UIImageWriteToSavedPhotosAlbum はあくまでも例外ということですね。
Application Home 以下でよければ、下記のような感じで最高画質で保存できるのですが……。
NSData *imageData = UIImageJPEGRepresentation(UIGraphicsGetImageFromCurrentImageContext(), 1.0); NSString *filePath = [NSString stringWithFormat:@"%@%@" ,NSHomeDirectory() , @"/Documents/hoge.jpg"]; [imageData writeToFile:filePath atomically:YES];
(追記)NSHomeDirectory()には直接ファイルを書き込めないので、Documentsディレクトリに保存するようサンプルコードを修正しました。それと、ファイルパスの文字列を作るには stringByAppendingPathComponent: などという便利なメソッドがあるのでこちらを使った方が良いようです。
関連する投稿
- Comments: 0
- Trackbacks: 0
App Store Lesson 2: アプリにコンタクトボタンをつけよう
要点はタイトルの通りですね。
- サポートサイトだけでなく、アプリから直接作者にメッセージ(メール)を送れるようにしよう
原文:App Store Lessons: Design for Contact
App Storeの全ての商品ページにはサポートサイトが記載されているけれど、ユーザーがアプリ内から直接あなたにコンタクトをとれるようにしておけば、もっと充実したコミュニケーションがとれるわ。あなたのアプリにはありがたくない一つ星レビューがついてしまうこともあると思うけど、コミュニケーションの門を開いておくことは、そんなレビューを寄せるユーザーの怒りを具体的なバグフィックスリクエストや改善のためのアイディアに変える助けになるの。
多くの開発者はアプリにmailto:リンクをつけることでそれを実行しているわね。彼らはもしそうしなければ得られなかったかもしれない素晴らしいフィードバックを得られたのに加えて、アプリの進化を導いてくれるユーザー達との強いつながりを持つことができたの。
シンプルなコンタクトボタンをアプリに追加するのはカンタンよ。UIButtonを配置して、適切なラベル(”コメントを送る”とか”フィードバックを送る”とか)を貼ったら、そのボタンを押したときに必要な情報を記入済みのメールを立ち上げるメソッドを実行するようにするだけ。
たとえばこんな感じね。
- (void) emailDev: (UIButton *) button { NSString *content = @"subject=Converter Feedback&body=I have been using Converter! Here are my feature requests and my overall feedback:"; NSString *mailto = [NSString stringWithFormat:@"mailto:feedback@ericasadun.com?%@", [content stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]; NSURL *url = [NSURL URLWithString:mailto]; [[UIApplication sharedApplication] openURL:url]; }
私も、最も価値のあるフィードバックのいくつかは、私のアプリを徹底的に試してくれるだけでなく、その改善に継続的な興味を持ってくれるユーザーからもらうことができたわ。今提出中の「Converter」アプリのアップデートの改善点とバグフィックスのほとんどは、ユーザーとのコミュニケーションの成果なの。サポートサイトを探させるのではなくアプリからフィードバックをできるようにすることで、ユーザーからのコンタクトを何倍にも増やすことができるわ。
関連する投稿
- Comments: 0
- Trackbacks: 0
iPhoneアプリのプロモーション用無料配布が可能に
Developers Can Now Issue Free “Promotional” Copies of iPhone Apps - Mac Rumors
アプリを無料でダウンロードできるプロモーションコードを最大50個まで発行できるようになるシステムが、アメリカのAppStoreで開始されたようです。
Once an application has been accepted to the App Store by Apple, developers can issue up to 50 promotional codes.
と書いてあるので、対象はすでに公開済みのアプリだけであり、リリース前のアプリに関しては従来のAd-hocディストリビューションを利用することになりそうです。
このシステムによって、AppStore以外のアプリレビューサイトの情報がさらに充実することになりそうです。先日のマイナーリニューアルもそうですが、販売チャネルとしてのAppStoreの飽和が懸念される中、このように様々な対策を打ち出してくれるのはありがたいことです。
関連する投稿
- Comments: 0
- Trackbacks: 0
CGValueはないけれどNSValueが使えます
- 2008-12-03 (水)
- iPhone SDK / Cocoa / Objective-C
CGRectやCGPointといったCoreGraphicsで定義された構造体をNSArrayなどに入れる場合、直感的にはCGValueというラッパが有りそうな気がします。しかし、実際にはCGValueというクラスは存在しません。
調べてみるとAppleのDeveloperForums(英語)でズバリWrapper for CGRect?というトピックを発見しました。
このトピックでのやり取りを要約すると、CGRectやCGPointでもNSValueが使えるということでした。どうやら回答者もこの質問を受けて初めて存在に気がついたようです。
このことを調べていて知ったのですが、CocoaにはCGRectやCGPointと同等のNSRectやNSPointといったクラスが有るそうです。ただし、これはMac OS X(App Kit)のお話でiPhoneアプリには関係ないみたいです。逆に言うとApp Kitでの開発になれた人はCoreGraphicsで定義されているこれらを使うことになれる必要が有るでしょう。
関連する投稿
- Comments: 0
- Trackbacks: 0
App Store Lesson 1: 審査通過後~公開前にしておくべきこと
- 2008-12-03 (水)
- AppStore
iPhoneアプリ開発者の間ではちょっと有名なErica女史による、AppStoreに関するノウハウ記事の和訳です。要点は以下の通り。
- 審査通過後、公開までには24時間~最大72時間程度の待ち時間がある
- その間に各種ドキュメントの再確認をしておこう
- レビュー対策として、バージョンアップの予定も(あるなら)書いておこう
- まず無料アプリとして公開して後日有料化する戦略をとるなら、この待ち時間が有料化の変更申請をするベストタイミング
原文:App Store Lessons: Expect Delays after approval
おめでとう!ついに審査を通過したわね。あなたのアプリの販売するための準備が整ったわ。もうプレスリリースを送った方がいいかしら?たぶんそれはまだにしておいた方がいいわね。アプリが実際にAppStoreに載るまでには多くの場合はもうあと24時間、長ければ48~72時間くらいかかることもあるみたい。じゃあその間何をしていましょうか?
まず深呼吸しましょう。大勢の獰猛なレビュワー達による審査をパスするという、もっとも困難なパートはクリアしたわ。今は書いたものを見直してAppStoreでのプレゼンテーションの準備ができていることを確認しましょう。
iTunes Connect上の文章を再検討することから始めましょう。スペルチェッカーにかけるとか、友達に読んでもらうとか。今が修正できる最後のチャンスよ。アップルの審査を待っている間にアプリのバージョンアップをしたなら、そのことも書いておくとよいわ。そうすれば恐怖の一つ星レビュワーから少しでも身を守ることができるから。
iTunes Connectでの公開日を確認することも忘れないで。アプリに大きな問題があることがわかっていれば、公開日を延期して修正した新バージョンをレビューしてもらいたいと思うかもしれないわね。公開日が未来になっているなら、いずれにしてもアプリは未公開のままになるわ。その場合は、それが間違いでないか、本当にそれでよいか、よくよく確かめてね。
価格戦略はどうかしら。たくさんのアプリベンダーが、最初に無料期間を設けてその後有料化するという方法を採っているわ。もしあなたもそうするつもりなら、AppStoreに登場するのを待っている今が、価格を改訂してそのことを文章に追記するベストタイミングよ。
最後に、サポートサイトとプレスリリースの情報が問題ないかどうかもう一度チェックしましょう。すでにお分かりの通り、公開を待っているこの時間はそれらを見直して、再検討し、修正するための最高のチャンスなの。無駄にしないでね。
※和訳が間違っている箇所があったらご指摘いただければ幸いです。
関連する投稿
- Comments: 0
- Trackbacks: 0
- Search
- Feeds
- Meta