忍者ブログ
なんでもいいから書くブログ。iPhoneアプリやAndroidアプリといったスマートフォンアプリを開発していこうと考えてはいるが、はたしてどこまでできるか、、とにかく記録していこうと思い書いているブログである。有益な情報はあるかもしれないし、ないかもしれない。
Admin | Write
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

昨日はこれで一日つぶれた。

リリース中のアプリ「Best Bowling」のバージョン 2.1 が完成し、

動作テストをしていたところ、分析のグラフ表示がやたらと遅い

数ゲームしか登録していないのに。。

起動してすぐは大丈夫だが、使っていると遅くなる。。使用メモリ増加の影響?

これは、新しく追加した処理が何か影響しているのか?

グラフ部分は何もいじっていないけど。。

Leaksで実行して、メモリリークしていないか調べたり、

部分的に処理を削っていき原因はどこか突き止める作業。


で、原因というか、どうしたら発生するか(分析グラフの表示が遅くなるか)がわかった。

仮想キーボード?というのか、テキストフィールドをタッチすると文字入力のために出てくるアレ

表示されたあと、遅くなることが判明

新しく追加した処理は全く関係なかった。

で、現行バージョン(リリースされているやつ)で検証してみると、遅くなる。。ぉお!

いやぁー今までこんなことなかったよ。ちゃんと動作テストしてるし。

何が変わった?! あっ iOS4.2 にアップしたゾ。まさか。。

古い機種の動作検証用のiPod (第2世代?) iOS3.1.3 でも確認。

こっちは大丈夫じゃん。

iOS4.1はもうないので確認できないが、現行バージョンはiOS4.1で動作確認しているので、

これは iOS4.2 にした影響で確定ですね! なんとも。


アプリのプログラム側でなんとかなるかと試行錯誤したけど、対処方法は判明せず。。

iOS4.2のバグなのか、相性が悪い処理が混ざっているのか、定かではない。

でもねぇOSをバージョンアップして、アプリの動作がおかしくなるっていうのは、

アップルさん、そりゃないよ。(とかいって、アプリ側のプログラムが悪かったりして。。)


一番迷惑がかかるのが、ユーザの皆様。

iOS4.2 にアップグレードした方、グラフ表示が遅くなるときがあります。

そんなときは、ホームボタンを押して、一旦アプリを一時停止してください。

そしてすぐアプリを起動しなおせば大丈夫です。


アプリ側では対処できなさそうですので、次期 iOS のバージョンアップまでこのまま様子見とします。。


新作アプリも同じ原因で遅くなる箇所が。。しょうがないか。。

















PR
先月同様、目標数の%で表してみます。

目標数はこんぐらいでれば、生活できるかなぁ程度の金額を単価で割った数です。
(開発日数を考えて設定しているのですぐ完成したアプリは目標数も少なめ)

・Best Bowling (単価350円、利益 245円) (販売日数:92) 2.8%
・イメージ貯金 (単価230円、利益161円) (販売日数:76) 4.8%

うーん、伸びが減少してますな。
9月、10月と新作を作る時間がとれず、
ほったらかし状態だったのが、原因かな。

毎月1アプリ作る目標も残念ながら達成できず。。

10月中リリース予定のBest Bowling v2.0 は11月1日になってしまったし。(USでは31だったが。。)

しかし、v2.0リリースして、割引セールをしたところ、売上本数は1週間でぐっと増えました↑↑

常に何かしらアクションしないとダメですね。

新作出したり、バージョンアップしたりね。


「Best Bowling」、「イメージ貯金」は 無料版が常にカテゴリ100位以内にいるので、
ユーザの目に触れる機会があり、なんとかダウンロード数を保っている感じです。

アプリをアップデートすると、アップデート版のダウンロード数がわかるので、
実際どれくらいの人が使っているのか、おおよそわかります。

無料版の広告表示回数でもだいたいどれくらいの人が使っているかわかります。

この2つのアプリの無料版は使用者が少しずつ増えてきているので、
非常に嬉しいです。

息が長いアプリになってほしい。

基本、無料版でも機能は同じなので、若干の制限のみで使えますよー
(広告が表示されるので、画面が狭くなりますが、広告出さないと収入がなくなるので
この点はご了承、ご協力ください。)


近々、「イメージ貯金」もv1.2にバージョンアップします。(申請中)

レビューで指摘されていました、目標名の変更、金額の変更(自由入力の場合のみ)、
目標額の最大値を増やすこと、を対応しました。

ご意見、ご要望は可能なものは対応していくつもりです。

作者が傷つかないレビューをお願いします。

(要望はいいんですが、非難されるとへこみます。。)


今月は新作だすぞ!













お待たせ致しました。
iPhoneアプリ「Best Bowling」v2.0 にアップグレードしました。

★☆★☆★☆★☆★☆★☆★☆
2010/11/01 〜 2010/11/07 まで 期間限定 割引セール中です!
350円 → 230円
★☆★☆★☆★☆★☆★☆★☆


みなさまからのご指摘が多かったシリーズ3G固定問題、、ゲーム数が増やせるようになりました!
その他、ボール管理ハンディキャップなど、大幅に機能アップ!


まずは、アイコン!

90a71dd8.png


かっこいいですねぇ。
デザイナーさんに頼んでよかった。(プログラマーの私が作ったアイコンとは大違い;)

起動直後の画面も同様にかっちょよくなっています!



月毎のイベント一覧も若干変わっております。
なんせ、3G固定だったスコア欄を12Gまで表示できるようになったので。

j4.png

こんな感じですね。6コで2段まで表示され、計12ゲームです。
いちおう、設定で、左寄せか右寄せを選択できます。
HDCP(ハンディキャップ)も追加されましたので、小さく表示。
(ハンデを一覧のスコアに含めるかどうかは設定で変更できますよ。)

ハイシリーズ横の(3G)は3Gシリーズのハイシリーズっていうことです。
これも設定で集計するシリーズ数を変更できます。
4Gシリーズがメインな方は、設定でシリーズゲーム数を4にすれば、
4Gシリーズのハイシリーズが表示されます。

   細かな点ですが、月間サマリー欄を若干透明にしてみました。ふふふ



イベント登録はこんな感じです。

a53fb065.pngc73740cd.png

情報量が増えたので、縦長になってしまいました。。

まず、「タグ」?? よーするに目印です。
このタグによって、グループ分けできるようになりました。
設定でタグを指定すると、一覧や分析がそのタグがついているイベントのみ
表示されるようになります。

例えば、2つのリーグに所属されている方だと、
リーグ別にアベレージを出したいといった使い方です。

あとはお気に入りのスコアとかにタグを付けておくとかですかね。

まぁ使い方は自由です。

 一つ失敗した点は、一覧にタグが表示されていないので、
せっかくのタグがわからないってことです;;
(この点は、次回バージョンアップで対処します。)



ハンデ機能も追加しました。
ゲーム毎、シリーズ毎のどちらでも設定できます。
(マイナスハンデもO.K!)


一番の注目は「+」 でゲームを追加できる点ですね。

12ゲームまで増やせます。(無限っていうのも困るので。。12ゲームまでにしました。)

消す場合は、行をスワイプです。

ここでゲームを追加してもいいですし、スコア入力画面でも追加できます。



さて、スコア入力画面です。

j1.png


スコア入力方法は、右上のタスクバーに移動しました。

かわりにゲーム数ゲーム目がわかるセグメントコントローラが
メイン画面に配置されています。
これでゲームを切り替えたり、「+」でゲームを追加したりできるわけです!


もう1点、注目はボール管理です。

ボールのボタンを押すと、「ボール選択」が表示されます。

edab65c4.png  (※あらかじめ「設定」ー「ボール管理」でボールを登録しておく必要があります)

ここで使用したボールを選択します。
ゲーム毎にボールスペアボール2つ登録できます。

ボールを登録することで、分析時に、ボールでフィルタできるわけです!

例えばボール別に、ストライク率や10ピンの倒ピン率など、分析できるわけです。

分析の幅が広がりますね。



分析画面です。

j2.png

分析の種類は右上のボタンで切替ます。ここがアイコンになりました。

他は基本的に変更ないですね。

データ構造が変わったので、内部的にはだいぶ変更していますが。。

あと、右上のフィルタボタンから設定する条件で、
ボールが対象になりました。ボール別に分析できるわけですな。



ボールの追加、編集は、「設定」ー「ボール管理」から行います。

825bb4f3.pngf2917ce1.pngd71273a8.png


実はボールの画像はカメラや写真ライブラリが使えるのです。ふふふ

マイボールの画像で管理できるわけですね。うれしい!
重さやメーカーなど特に細かな項目は用意していませんので、メモ欄を自由に使ってください。


という感じで新機能がいっぱいです。

ですので v2.0 としてみました。

実は見えない部分で大改造していまして。。時間がかかってしましました。。

★☆★☆★☆★☆★☆★☆★☆
2010/11/01 〜 2010/11/07 まで 期間限定 割引セール中です!

350円 → 230円

この機会に、有料版の購入をおすすめします。

(無料版も同じ機能でバージョンアップしています。
イベント登録数が100までと制限はありますが、十分に試せるようになっています。
また、有料版へのデータ移行ができますよ!)

割引セール終了後、450円になります。


次のバージョンアップ予定機能 (次期は未定)
・イベント毎のスコア一覧(数字だけでなくスコアシート画像の一覧)切替。その画像出力(メール添付とか?)
・ツイッター投稿
・イベント一覧でタグがわかるようにする





2ヶ月目の集計をしてみた。

先月同様、目標数の%で表してみます。

目標数はこんぐらいでれば、生活できるかなぁ程度の金額を単価で割った数です。
(開発日数を考えて設定しているのですぐ完成したアプリは目標数も少なめ)

・Best Bowling (単価350円、利益 245円) (販売日数:61) 2.26%
・イメージ貯金 (単価230円、利益161円) (販売日数:45) 4.03%

はい、まだまだです。が、伸びてはいます。止まっていないからいいか。

Best Bowling はバージョンアップを出せば(今作っているからね)、もう少し伸びそう?

無料版がカテゴリ別で100位以内に常にいてくれるおかげで、
なんとか止まらずにきている感じです。

どちらのアプリも、長ーく使うものなので、無料版でも少しは広告収入があり、
助かっております。無料版の制限はかなりゆるめなので、無料版でも楽しめるはず。

今後の目標である「アプリ数を増やす」で、9月は2つほど追加しました。
・Rank Checker (無料) 開発者向けのAppStore順位チェックアプリ
・Mine Escape (無料版と115円) アクションゲーム

えー Mine Escape は不発かな。埋もれています。残念。
Rank Checker はまぁ開発者向けですしね。使ってくれる人がいるだけでいいです。

ちょっと、9月後半から10月にかけて、ピタッとリリースが止まっていますが、
ブログ更新も止まっていますね、、
(別件で開発時間がなくて。。)
Best Bowling v2.0 は10月中にはリリースしたいので、頑張って作っております。


あっという間に時間が過ぎる。。時間足りない。




icon  iPhoneアプリ「Mine Escape」をリリースしました。

初のゲームです! アクション?かな

ルールは簡単。ゴールまでボートを進めるだけ!

画面をタッチすると、その地点に向かって進みます。

j02.png


途中に機雷があるので、気をつけてください。

機雷は見えません。

j03.png


あっ、そうそう、音を出してくださいね。

機雷の位置はで判断するのです。

遠ければ小さく、近ければ大きな音が鳴ります。

ヘッドフォンがおすすめです。機雷が存在する方向も判断できるので。

(右側に機雷があれば、右から音が聞こえます。)


いちおう 世界?!ランキング を設けてみました。

(そのうち、Appleの GameCenter 対応しようかなぁ と思っています、、できるのか。。)

j04.png


多くのステージをクリアし、経過時間の短い方が上位です。

ステージ数は内緒! 条件を満たすと増えます。

(ヒントは、クリア回数とプレイした日数です。)


よし、チャレンジしよう!


iPhoneアプリ「Rank Checker」をリリースしました。

無料です。

でも、、おそらくiPhoneアプリ開発者しか使わないでしょう。

このアプリは、AppStore における、カテゴリ別のランキングをチェックするツールです。

(ね、普通の人はランキングなんて気にしないから使わないっしょ)


まず、アプリ名、国、無料/有料、ジャンル(カテゴリ)を設定します。

02j.png


あとは、ランキングをチェックしたいときに、左下の更新ボタンを押すだけです。

01j.png


現在の順位が表示されます。アプリが見つからないか、ランク外(300位までに入っていない)の場合は、 --- と表示されます。

(アプリが見つからないのか、ランク外なのか判別できないので、アプリ名は正式にフルで入力してください。アプリ名が日本語名と英語名とある場合は、Localization で指定した言語の名称を指定しないとだめかな。。)


はい、これだけです。履歴やグラフなんてものはありません。

(ちょっと機能がさみしいので、履歴は近々バージョンアップして付けます


でも、私はかなりの頻度で使っています。

そんなにランキングを気にしてもしょうがないのですが、

ランキングが上がる=ダウンロードされた 

ってことでして、、気になるよねぇ。



まぁ自分用にちゃっちゃっと作った感じです。探したけどめぼしい物がなかったので。

作る前は、AppStore でカテゴリ別に、さらに25件を押して、100位までに入っているかチェックするというように大変でした。

iPhoneアプリを紹介するサイトで、カテゴリ何位 っていう表記があったので、

きっとランキングを取得する何かがあるのだと探したら、

こんなのがありました。 

iTunes Store RSS

ほぉう、これで300位までランキングが取得できますな。しかも各国のAppStoreのランキングが。

でも、他のアプリなんてどうでもいいのです。自分のが何位か知りたいのです(身勝手)。

いちいち取得した情報を検索するのは、、無理。

で、PCでスクリプトを書こうかと思ったが、せっかくなのでiPhoneアプリにしてみました。

ちょうど通信まわりを勉強しようと思っていたところなので。(おかげで、http通信とXMLも使えるようになったぞ。)


ということで、iPhoneアプリの開発者の方、是非、使ってみてください。おすすめです。

(まぁ開発者の方なら自分でもっといいもの作れるでしょうが;)







8/1に最初のアプリが販売され、1ヶ月過ぎたので、集計してみた。

まぁ金額を出すのもなんなんで、目標数の%で表してみます。

目標数はこんぐらいでれば、生活できるかなぁ程度の金額を単価で割った数です。
(開発日数を考えて設定しているのですぐ完成したアプリは目標数も少なめ)

・Best Bowling (単価350円、利益 245円) (販売日数:31) 1.02%
・イメージ貯金 (単価230円、利益161円) (販売日数:15) 1.53%

はい、全然ですね。そう簡単ではない。

目標数はトータル販売数なので、まだこれから増えればっ、、て、単純に100ヶ月かかるか。。

まぁまずは販売を開始するということが目標だったので、これはクリア。
次は売上につながる戦略を考えつつ、アプリ数を増やす!!これが目標。

年末までに、あと5本(5種類)は出したいところ。


なお、無料版の広告収入は、まぁ無いに等しい。
無料版はダウンロード数は多いが、継続して使う人は少ない。
お試しという意味なので、気に入ってもらえたら有料版を購入してもらえている?
という意味では、まぁこんなもんでしょう。


でも使ってくれる人がいるだけで、嬉しいです。


さぁ頑張るか!




お待たせしました。


icon
「イメージ貯金」の無料お試し版です。



まぁ機能は有料版と同じなので、この記事を参照 してください。


貯金を頑張っている方、目標を設定して貯金してみませんか?


欲しい物、したい事の写真を目標に設定することで、より貯金が楽しくなります!


ぜひぜひ



無料版では、貯金箱の登録は2つまでとなります。
(ただし、登録されている貯金箱を削除すれば、再度登録できるようになるので、ずーと使い続けることができます。)
あと、広告が表示されます。


アップルの広告サービス iAd を取り入れてみたが、まだ表示されず。。
広告数が少ないのか?
見てみたいのに〜






って、rejectされたから書くんですが。

 ... because it displays an empty iAd banner when ad content is not available.
 The banner within the app should be hidden whenever ad content is not being served by iAd.
 To handle the case where ad content is not available, you will need to implement a banner view delegate.

ようは、広告の内容が取得できなかったときは、バナーを隠せってこと。その為にバナービューのデリゲートをちゃんと実装しなきゃだめってこと。

デリゲートは実装しなくていいや、広告出しとくだけだし、、って思ったらダメなようだ。
ちゃんとドキュメント読めって。。

広告を取得した場合は、
bannerViewDidLoadAd
エラーの場合は、
didFailToReceiveAdWithError
で通知してくる。
なので、こんな感じに初期化して、デリゲートは self とした。
        ADBannerView *adView = [[ADBannerView alloc] initWithFrame:CGRectZero];
        adView.delegate = self;
        adView.currentContentSizeIdentifier = ADBannerContentSizeIdentifier320x50;
        adView.frame = CGRectOffset(adView.frame, 0, -50); //隠しておく
        [self.view addSubview:adView];
        [adView release];
        self.bannerIsVisible = NO; //隠しているのでフラグOFF

デリゲートは self としたので、このクラスに次のように実装。
- (void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error
{
    if (self.bannerIsVisible)
    {
       //バナーを隠します
        [UIView beginAnimations:@"animateAdBannerOff" context:NULL];
        banner.frame = CGRectOffset(banner.frame, 0, -50);
        [UIView commitAnimations];
        self.bannerIsVisible = NO;
    }
}

- (void)bannerViewDidLoadAd:(ADBannerView *)banner {
    if (!self.bannerIsVisible)
    {
       //バナーを表示します
        [UIView beginAnimations:@"animateAdBannerOn" context:NULL];
        banner.frame = CGRectOffset(banner.frame, 0, 50);
        [UIView commitAnimations];
        self.bannerIsVisible = YES;
    }
}

まぁこんだけだ。(っとこの段階では思っていたが、後で落ちがある。。)

さぁ、試そう。bannerViewDidLoadAd は呼ばれる。まぁ当然。
でも、エラーの通知ってどう再現するんだ。
。。。悩む。
しょうがないのでドキュメントを見る。書いてあった。。
通信をOFF にしろって。なるほど!

やってみる。設定で、機内モードにして、アプリに戻る。
最初から表示されないケースはオッケー、でもこれってエラー通知で
広告が隠れたわけではない。ログ出力しても呼ばれていない。
広告が表示された状態から、エラー通知により隠れないってこと。

すこし考える。

バナーが次の広告をサーバに取得しにいくタイミングがあるはずだ。
それまで待つことにした。

画面を表示した状態で待ったが、いっこうに動かない。

しょうがないので、ボタンをポッチと押してバックグラウンドで放置。

5分くらいして通信をOFFにして再開してみる。

おぉ!広告バナーが隠れた。ちゃんとエラー通知をとおている。よし!


didFailToReceiveAdWithError の確認方法は次の通りだ。
広告を表示する→バックグラウンドで5分くらい放置→通信OFF(機内モードとか。)→アプリ再開


よーしできた。再申請でまた1週間待ちか。


しかし、、、、かるーくアプリを動かしていたら、突然、強制終了。

なにっ!!今までこんな落ちかたなかったのに。

しょうがないので、デバッグ開始。

コールスタックみたらiAdで落ちてるね。俺知らねーし。どこだよー。

っと原因を探っていたら、、これか。。

これは iAdだからってわけではなく、非同期でメソッド呼び出したりするときも、やっちまったーってケースだ。

呼び出したときに、もう既にいないってやつです。

この場合、ADBannerView の delegate を self にしたので、

違う画面に戻ったときに、運悪くバナーが通信して広告取りに行って、

delegateにより通知しにきたとき、もう違う画面なので、"self" がなくなってしまった。

そういうことです。


解決方法は、これでいいのかわからないが、

viewWillDisappear (ビューが非表示になるとき) に、 delegate=nil

viewWillAppear (ビューが表示されるとき)に 、delegate=self とした。

こんな感じに。
- (void)viewWillDisappear:(BOOL)animated {
    for (UIView *viewTmp in self.view.subviews) {
        if ([viewTmp isMemberOfClass:[ADBannerView class]]) {
            ((ADBannerView *)viewTmp).delegate = nil;
        }
    }
    [super viewWillDisappear:animated];
}


これで、落ちることもなくなったので、よしとしよう。

やっと再申請。1週間待ちだ。。







iPhoneアプリ「Best Bowling Free」をリリースしました。

icon100f.jpg


「Best Bowling」の無料版です! (ボウリングのスコア管理アプリです。)

機能制限で100件までしか登録できませんが、お試しには十分かと。

その他の制限としては、データ復元機能が使えません。(まぁいらないでしょ。)

しかーし、有料版へデータの引き継ぎができます!

だから無料版を使い倒してから、有料版へ移行できるのです!


ボウリングのスコアアップを目指している方には超オススメです。

だって、ボウリングしながら入力すればいいんだから。家帰ってPCでスコア入力するなんて面倒だしね。

データ分析って上達には欠かせません。

あとアベレージが上がって行く様子をグラフで見たら、やる気もでるし! (下がっちゃう場合もあるけど。)

ピン入力が面倒に思えるかもしれませんが、「設定」でピンが倒れた状態にできるのです。

ほとんどピンを残さない方は、この設定ならピッピっと入力できちゃいます。

(それすら面倒な方は合計スコアだけ入力する方法もあります。当然、詳細な分析はできませんが。)


pin.jpg




iPod touch でも使えます。 (当然 iPad でも使えます。でも大画面対応はしていない。。)

あと無料版は広告でちゃいます。無料だからゆるして。






YamaTatsuのiPhoneアプリ
iTunes Store でみる
LightOff Light Off Hot New
点いたライトを素早く消そう!
誰でも遊べるシンプルなゲームです

めいろであそぼう めいろであそぼう New
かわいいイラストのめいろ、ぬり絵もできる
子供向けの迷路あそびです。※iPad専用

運試し 運試し NEW
15連続の確率は0.0001%
操作は簡単 好きなパネルを選ぶだけ。どこまで進めるか運試し!

連打 連打! まだまだ人気
16連射に挑戦
10秒間で何回ボタンを押せるか競うゲームです。

うちメモ うちメモ ★大人気★
買い物中に 「まだあったかな?」 と思った経験 ありませんか? 「うちメモ」していれば大丈夫!!

BestBowling Best Bowling
マイボウラーに大人気! ボウリングのスコアを管理するアプリです。

イメージ貯金 イメージ貯金
貯金はモチベーションが重要! 目標を設定して毎日楽しく貯金しよう!

Mine Escape Mine Escape
聴力は優れていますか? 音で機雷の位置を判断する新感覚のアクションゲーム!

Rank Checker Rank Checker
だって気になるじゃないですか、、 アプリ開発者必須! AppStoreのランキングをチェックツールです。


カレンダー
04 2024/05 06
S M T W T F S
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Twitter
プロフィール
HN:
YamaTatsu
HP:
性別:
非公開
自己紹介:
iPhoneアプリを開発してまーす。
最新コメント
[06/04 K.I.T]
[06/03 Cotoba]
[05/19 K.I.T]
[05/18 コタツ猫]
最新トラックバック
ブログ内検索
バーコード
忍者アド
アクセス解析
忍者ブログ [PR]

Designed by