MoneyView for Lion
先日リリースされたMac OS X Lionで一部MoneyViewが起動しないという問題がありました。
大至急対応版をAppleに提出しただいまレビュー中の状態です。
ご迷惑をおかけした皆様には大変申し訳ありませんでした。
今しばらくお待ちくださいますよう、お願い申し上げます。
ついに1位に!!
MoneyViewがMac AppStoreのファイナンスカテゴリでついに1位になりました。
常に1位の座にいたMoney3を短期間で抜いて1位になったのは本当に感動ですね。
ご支援頂いた皆様に感謝の気持ちでいっぱいでより機能を充実させさらに使いやすく役に立つアプリを提供させて頂きたいと改めて思いました。
画面をキャプチャしている最中にまた順位が入れ替わって今は2位になっています。
ちなみに全アプリトップセールスでは29位にまで上り詰め1位と同じ画面上でスクロール無しで表示されています。
ファイナンスカテゴリ上段に表示される
本日ついにMac AppStoreのファイナンスカテゴリの上段にMoneyViewが表示されるようになりました。
たくさんのご支援ありがとうございます。
アプリ全体のトップセールスでは一時あのThingsを抜いて上位に来る場面もありました。

Mac AppStoreの順位が急上昇中
Mac AppStore全体のトップセールス順位が17時頃75位だったのが19時頃には40位になっていました。
どれぐらい売れているのかまだ把握出来ていないのですが家計簿アプリとして順位が急上昇している事に驚いています。
ちなみに、ファイナンスカテゴリでは2位になっていました。
MoneyViewがMac AppStoreにリリース致しました。
ご無沙汰しております。久しぶりの投稿です。^^;
お陰さまでMoneyViewがMac AppStoreにリリース致しました。
リリースして間もなくファイナンスカテゴリのトップセールスカテゴリで現在3位に位置しております。
ご購入頂いた皆様!誠にありがとうございました。
Cocoaアプリの起動までのプロセスとイベント処理の仕組み
この資料は内部で勉強用に作成したものでCocoa Programming for Mac OS Xの内容をベースにしております。Cocoaアプリの起動からユーザイベントの処理までの仕組みが記述されています。
この文書に含まれている一部図は同書、あるいはアップルのドキュメントから抜粋しておりますのであくまでも参考にだけ使ってください。なお、この文書の説明は概要までで止めております。より詳しい内容が知りたい場合は同書、あるいはアップルの資料を参考にしてください。
UIView to draw sweet graphs
iPhoneアプリでグラフを表示したいと思い使える物がないか検索してみました。
すると下記図のようなクールなグラフを簡単に描けるライブラリがありました。その名もs7graphview

使い方はとても簡単!
http://code.google.com/p/s7graphview/
上記リンクの右側にあるFeatured downloads:という所のs7graphview-basic-release.zipをダウンロードしてファイル一式を自分のプロジェクトに追加して使います。
ちなみに、DemoS7GraphView.zipというプロジェクトは私の環境では原因不明のエラーによりデモを実行してみることは出来ませんでした。
s7graphview-basic-release.zipを解凍すると下記のような3つのファイルが存在しており自分のプロジェクトの中で
#import "S7GraphView.h"することによりAPIを使えるようになります。
使い方はTableViewの実装と同様にグラフを描くためにUIVIewControllerでDataSourceを実装してあげるだけでグラフを描いてくれます。
まず、ヘッダーファイルで
#import "S7GraphView.h"
@interface TestViewController : UIViewController<S7GraphViewDataSource> {
S7GraphView *graphView;
}
@property (nonatomic, retain) S7GraphView *graphView;
のように宣言し
ソースフィアルで色やデータソースなどを設定し(使った後のメモリ解放処理も忘れないようにしましょう)
@synthesize graphView;
// Implement loadView to create a view hierarchy programmatically, without using a nib.
- (void)loadView {
//self.view = [[UIView alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
self.graphView = [[S7GraphView alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
self.view = self.graphView;
self.graphView.dataSource = self;
//self.view.backgroundColor = [UIColor yellowColor];
}
- (void)viewDidLoad {
[super viewDidLoad];
// Uncomment the following line to display an Edit button in the navigation bar for this view controller.
// self.navigationItem.rightBarButtonItem = self.editButtonItem;
NSNumberFormatter *numberFormatter = [NSNumberFormatter new];
[numberFormatter setNumberStyle:NSNumberFormatterDecimalStyle];
[numberFormatter setMinimumFractionDigits:0];
[numberFormatter setMaximumFractionDigits:0];
self.graphView.yValuesFormatter = numberFormatter;
NSDateFormatter *dateFormatter = [NSDateFormatter new];
[dateFormatter setTimeStyle:NSDateFormatterNoStyle];
[dateFormatter setDateStyle:NSDateFormatterShortStyle];
self.graphView.xValuesFormatter = dateFormatter;
[dateFormatter release];
[numberFormatter release];
self.graphView.backgroundColor = [UIColor blackColor];
self.graphView.drawAxisX = YES;
self.graphView.drawAxisY = YES;
self.graphView.drawGridX = YES;
self.graphView.drawGridY = YES;
self.graphView.xValuesColor = [UIColor whiteColor];
self.graphView.yValuesColor = [UIColor whiteColor];
self.graphView.gridXColor = [UIColor whiteColor];
self.graphView.gridYColor = [UIColor whiteColor];
self.graphView.drawInfo = NO;
self.graphView.info = @"Load";
self.graphView.infoColor = [UIColor whiteColor];
//When you need to update the data, make this call:
[self.graphView reloadData];
}
- (void)dealloc {
[graphView release];
graphView = nil;
[super dealloc];
}
DataSourceの中身を実装してあげるだけでグラフを表示してくれます。
#pragma mark -
#pragma mark end
#pragma mark protocol S7GraphViewDataSource
- (NSUInteger)graphViewNumberOfPlots:(S7GraphView *)graphView {
/* Return the number of plots you are going to have in the view. 1+ */
return 2;
}
- (NSArray *)graphViewXValues:(S7GraphView *)graphView {
/* An array of objects that will be further formatted to be displayed on the X-axis.
The number of elements should be equal to the number of points you have for every plot. */
NSMutableArray *array = [[NSMutableArray alloc] initWithCapacity:101];
for ( int i = -50 ; i <= 50 ; i ++ ) {
[array addObject:[NSNumber numberWithInt:i]];
}
return array;
}
- (NSArray *)graphView:(S7GraphView *)graphView yValuesForPlot:(NSUInteger)plotIndex {
/* Return the values for a specific graph. Each plot is meant to have equal number of points.
And this amount should be equal to the amount of elements you return from graphViewXValues: method. */
NSMutableArray *array = [[NSMutableArray alloc] initWithCapacity:101];
switch (plotIndex) {
default:
case 0:
for ( int i = -50 ; i <= 50 ; i ++ ) {
[array addObject:[NSNumber numberWithInt:i*i]]; // y = x*x
}
break;
case 1:
for ( int i = -50 ; i <= 50 ; i ++ ) {
[array addObject:[NSNumber numberWithInt:i*i*i]]; // y = x*x*x
}
break;
}
return array;
}
このようなすばらしいライブラリを作って頂いた作者に感謝です。m(__)m
MoneyViewが1.5にバージョンアップ
MoneyViewのバージョンが1.15から1.5にアップしました。
お客さんの要望であった毎日の簡単なメモをとる機能を追加しました。そして統計画面で表示される詳細パネールでも各費目のメモが見えるようにしました。他に細かいバグ対応を行いました。
試用期間を経て購入してくださるお客さんもいらっしゃって、本当にありがたいと思っています。
でも、もっとお客さんの声が聞きたいと思っています。足りない機能、不便なところがあったら教えていただければ幸いです。
アプリの雑誌紹介の効果
以前MoneyViewがMac PeopleやMac Fanに紹介されたことを書いたことがありましたが、それについて。
両誌とも日本ではメジャーなMac雑誌だったし、Mac Fanでは1ページ全部の紙面を利用して紹介されましたのである程度販売に効果があるのではと期待していましたが、残念ながらその効果はほぼ見えませんでした。逆にあるダウンロードサイトやアップルジャパンのダウンロードページに紹介された際の効果がすごかったんです。
これじゃ、マーケティングの手段としての雑誌はちょっと考える必要がありそうです。(もちろん、これは単純に雑誌の問題ではなく我らの製品とその雑誌との相性とも言えますので他の方にも同じく適用されるとは思っていませんが。)




