iOS 開発で、EXC_BAD_ACCESS とさよならするための6つのルール

このエントリーをはてなブックマークに追加
はてなブックマーク - iOS 開発で、EXC_BAD_ACCESS とさよならするための6つのルール

2012/3/22 いくつか修正、加筆しました。
追記もご覧下さい:iOS 開発で、EXC_BAD_ACCESS とさよならするための6つのルール [追記] カプセル化について « Zero4Racer PRO Developer’s Blog
対象がiOS4以上の場合は、ARCを使用するのもオススメです。iOS 5 公開記念! Objective-Cのメモリ管理の革命、 ARC 超入門(サンプルはgitHubに公開) « Zero4Racer PRO Developer’s Blog をご覧下さい。

@Awaresoft さんのこの記事が、ほとんどすべての疑問に答えています。とてもよい記事なので合わせてご覧下さい。プロパティに対応するインスタンス変数の命名規則について – Awaresoft

iOS プログラミングでのメモリ管理の基本

iPhone開発で主に使用される言語は、Objective-C 2.0 です。とくにiPhoneで使用されるObjective-Cには、ガベージコレクションが搭載されていないため、Javaや、C#などの言語のように自動でメモリの確保、解放を行ってくれないため、プログラマがメモリの確保、解放を管理してあげる必要がある必要があります。
その反面、使用するメモリをコントロール出来るのでiPhone上の限られた(少ない)メモリを効率的に使用することが出来ます。しかし、これは、メモリ管理に慣れていないプログラマにとっては至難の作業です。
EXC_BAD_ACCESSというエラーは、あるメモリにアクセスしようとしたが、そのメモリ領域にあったデータは既に解放されていて、何も見つかりませんでしたという、致命的なエラーです。このエラーは、シンプルなプログラムだと簡単に原因を見つけられるのですが、複雑に入り組んだプログラムになると、探すのが非常に難しく、小一時間、私の場合最長半日、原因解明に費やしたことがあります。EXC_BAD_ACCESSが解決出来ずに、もう、iPhoneアプリ作成やめてやれ!と思った事も多少なりとも有りました。この記事で、EXC_BAD_ACCESSエラーを出しにくくする、また対処しやすくするために私が行っている対策方法を記します。

iPhoneアプリ:無料版と有料版、一緒に組み込んでみるのはいかが?

このエントリーをはてなブックマークに追加
はてなブックマーク - iPhoneアプリ:無料版と有料版、一緒に組み込んでみるのはいかが?

この記事では、このたび私たちJ-Tech Creations, Inc. がリリースした、 Zero4Racer Pro ゼロヨンレーサー プロアプリで採用した、

広告付き無料のアプリを作成し、アプリ内購入で、広告削除版をリリースする

という事についての考察を書きます。

スタジオルーペのリオさんがいつものごとく参考となる記事を書いてくださったので、そこからインスパイアを受けています。
iPhoneアプリ:無料か有料版、どちらを売り込むべきか? « スタジオルーペ開発者日記

無料アプリと有料アプリを同じアプリに組み込む事のメリット

以下に、無料アプリと有料アプリを同じアプリに組み込む事のメリットを記入してみます。

facebook よりも、”自分をプロモーションする”という面で上をいくサービス、LinkedIn.

このエントリーをはてなブックマークに追加
はてなブックマーク - facebook よりも、”自分をプロモーションする”という面で上をいくサービス、LinkedIn.

Logos
Logos Twitter LinkedIn Facebook

LinkedInとは。

LinkedIn – Wikipediaからの引用ですが、

LinkedIn(リンクトイン)は、2003年5月にサービスを開始したソーシャル・ネットワーキング・サービス、及び、同サービスを提供する企業。ビジネスに特化したサービスを特徴としており、2009年8月現在の登録ユーザーは全世界で4,500万人を超える[1]。
利用者の履歴書情報を中心とし、サービスの中で求人や商談を行ったり、専門家とコンタクトを取ることができる。

オフィシャルサイトLinkedIn – About Usを見ると、2011年1月時点で、

LinkedIn operates the world’s largest professional network on the Internet with more than 90 million members in over 200 countries and territories.

とあるように、9000万人、200以上の国と地域の個人が登録されているようですね。

iPhone アプリを開発する際に忘れてはならない”ユーザーテスト”

このエントリーをはてなブックマークに追加
はてなブックマーク - iPhone アプリを開発する際に忘れてはならない”ユーザーテスト”

ユーザーテストに関して思い出すきっかけ

ちょっと前の@hotmiyachi氏の記事を読んで、UIについて思い出した点がありました。
GT5のUIがとても残念 – ゼペットの休日
ちょっと一部引用します。

いずれにせよ、せっかく作ったゲームをUIの障壁でユーザーに理解されないなんてもったいないし、ビカビカにキレイなHDテクスチャのボタンより、UEとして快適なものこそがユーザーを掴むのではと思います。そしてそれこそ「欧米との技術競争に負けてる」とかいう話以前に大事だと思う。

ここで書かれている、UIは、ユーザーインターフェース、UEは、ユーザーエクスペリエンスですが、これが、”触り心地”と説明されています。見た目が美しい、アクションが凄いのはいいことですが、使っていて快適で、どのように使っても間違わない、わかりやすさというのは大切ですね。
これを実現するのは、結構難しいのですが、わたしがアプリを開発するうえで役に立ったのは、この”ユーザーテスト”です。

iAd をはじめて見ての所見、実験 [英語ゲームアプリ]

このエントリーをはてなブックマークに追加
はてなブックマーク - iAd をはじめて見ての所見、実験 [英語ゲームアプリ]

スタジオルーペさんの記事を読んでちょっとほっとしました。
続・iAd導入前の注意点 « スタジオルーペ開発者日記
先週末の以下の記事を読んで、iAdの停滞感というのが広がっていることに多少懸念していました。
モバイル広告の世界に広がる“iAdsはだめだ”説

Zero4Racer PROZero4Racer PRO - J-Tech Creations, Inc.アプリは、日本時間の2月10日にリリースされ、僕の最初のiAdアプリなので、それ以前のことは分かりません。今回、アプリを無料にした背景には、アプリ自身が私たちの会社の宣伝を兼ねているという点があります。ですから、1000の有料版が売れて、$1000稼ぐよりも、10,000の無料版がダウンロードされて、$50稼いだ場合でも、宣伝になると考えています。その上で、どれくらいiAdが効率的なのか関心があり、今回はiAdプラス、広告を削除するアプリ内購入に絞りました。

Facebook ページに、ブログの内容を自動で書き込む方法

このエントリーをはてなブックマークに追加
はてなブックマーク - Facebook ページに、ブログの内容を自動で書き込む方法

iPhoneアプリのプロモーションのために、Facebookを作ってみました。
Zero4Racer PRO – Facebook Page
ただ、ユーザーと、プロダクトの違いが、Facebookはハッキリしているようで、プロダクトページのみつくるということがうまくいかずに、結局、ユーザーページも作る事になってしまいました。
Tomohisa Takaoka
でも、ユーザー、ブログ、Twitter、Facebookと、別々に更新するのはすごく面倒ですし、おそらく続かないと思います。

ちょうど良いタイミングで、iPhone界の有名人のもとまかさんが、Facebookの記事を書いてくださっていました。
iPhone関連ブログのFacebookページをまとめてみました – もとまか日記
ここから、皆さんのFacebookを見せていただいて、もとまかさんのページで、ブログ投稿から、自動に、Facebook の wallに書き込んでいる投稿を見つけました。これは便利そうです。

iPhoneアプリのプロモーションのために始めた3つのこと

このエントリーをはてなブックマークに追加
はてなブックマーク - iPhoneアプリのプロモーションのために始めた3つのこと

Zero4Racer PRO アプリがリリースして早4日たちました。やはりアプリの競争は激しく、簡単にアプリが認知されるのは難しそうです。ただ、ここ数日のアプリのダンロード数を分析してみたところ、イタリアで、日本、アメリカ以上のダウンロードが記録されていました。また、日本、アメリカでは、レーシングゲームカテゴリの30位台に入るのがやっとですが、イタリアでは、ゲーム総合の45位、無料レースゲームの10位まで上がっていました。

なぜ、こんなにイタリアで売れたのでしょうか?秘密は、やはり、ソーシャルにありそうです。
Twitterで、アプリ名’Zero4Racer PRO’を検索してみたところ、次のTweetがヒットしました。
Twitter / @iPhoneItalia: Zero4Racer PRO, un realist …
iPhoneItalia (iPhone_Italia) on Twitter
Twitter / @AppleNews: Zero4Racer PRO, un realist …
AppleNews (TheAppleNews) on Twitter
これらのTweetのどれが最初に書かれたのか分かりませんが、イタリアのどなたかが、英語のみのアプリ説明文を訳して、オリジナルのポストを作成してくださって、それがRTされて伝播したようです。それによって、アプリがイタリアの人たちに知れ渡り、他の国以上に知れ渡ったようです。

このことからわかったことは、

アプリの内容、質は大事だけれども、プロモーションがうまくなされずには、アプリは知られない

ということです。それで、アプリのプロモーションの実験もかねて、以下の3つのことをおなってみました。これがアプリの売上にどれだけ影響があるか楽しみです。

Zero4Racer PROがリリースされました。

このエントリーをはてなブックマークに追加
はてなブックマーク - Zero4Racer PROがリリースされました。

2月9日にZero4Racerの新バージョン、Zero4Racer PROが、J-Tech Creations, Inc. よりリリースされました。アプリの情報、また技術情報などをポストしていきたいと思いますので、よろしくお願い致します。

Zero4Racer Pro ゼロヨンレーサー プロ 2.0.0(無料)

iPhone 3GS、iPhone 4、iPod touch(第2世代)、iPod touch(第3世代) および iPod touch (4th generation) 互換 iOS 4.2 以降が必要

Zero4Racer Pro ゼロヨンレーサー プロ 2.0.0(無料)
カテゴリ: ゲーム
価格: 無料 App
更新: 2011/02/10

iPhoneiPhone