むらかみの雑記帳

Android とか iOS とかソフトウェア開発に関するネタ帳

CashFlow新アイコンが非常に不評ですごく凹んだ件

先日、CashFlow / CashFlow free 4.0 をリリースしました。Dropbox 対応とか、機能については大変好評なのですが、アイコンが絶不評orz

左が旧アイコン、右が新アイコンです。

f:id:tmurakam:20110405191755j:image f:id:tmurakam:20110405192028p:image

レビューでは、

  • 前のアイコンが好きだったのに
  • リアルなブタが嫌
  • ど派手なピンクなので恥ずかしい
  • シンプルなアイコンがシンプルな機能にマッチしていたのに変える意味がない
  • 3Dアイコンは他のアイコンと並べると浮く
  • アイコンが嫌なのでアップデートしてない

など、さんざんです(泣。

妻にも、前のアイコンのほうがいいと思うとまで言われる始末。機能的にダメだしされるのは自分でなんとかできるんでいいんだけど、この辺のセンスというか感覚は自分ではなんともならず。まぢ PTSD になりそうです ←おおげさ

前のアイコンに戻すのは簡単ですが、新しいアイコンのほうがいいという人もいるわけです(私も新しいほうが好きなんだけどなぁ)。AppStore のレビューは、否定的な意見というかダメだしのほうが数がどうしても多くなるので、その辺も割り引いて考える必要があります。ちょっとでも不満があったら即レビューで文句or要望いうけど、満足したときってレビューそんなに書こうとしないですよね?元に戻すと、新しいアイコンのほうが好きだという人の酷評レビューがわんさとくるのが目にみえるようで、身動きが取りずらいったらありゃしない。

背景がピンクだという点に抵抗がある、というのはわからなくもないので、背景だけ変えたアイコンも作ってみましたが、、、、

f:id:tmurakam:20110405192804p:image

これでも文句言われるかなぁ。うーん。ブタのデザインそのものがダメといわれると元にもどすしかないわけで。

みなさんどう思われますか?どっかでアンケートでもとったほうがいいのかしらん。

CashFlow 新アイコン

CashFlow のメジャーバージョンアップをすることになったので、アイコンをつくり直すことにしました。例によって、CHARACTOY さんに作ってもらいました。

f:id:tmurakam:20110323214045j:image

いい感じです!

ちなみに新バージョンでは、

  • Dropbox 連携 (バックアップ・リストア・エクスポート)
  • レポート機能強化 (日別・年別レポート、各費目の詳細を確認できるように、円グラフ追加)
  • 全資産通しの CSV / OFX エクスポート機能を追加

などが追加予定です。なお、現在ベータテスタ募集中です。

Xcode4 で iOS の Unit Test

Xcode4 になってから、iOS の Unit Test のやり方が Xcode3 とかなり変わっていて、だいぶやり方を悩んでしまった。試行錯誤した結果を書いておくことにする。

Xcode3 の Unit Test の種類

Xcode3 には、Logic Test と Application Test の2種類があった。詳細はiOS Development Guideを参照。

  • Logic Test : アプリケーションとは独立してテストコードを実行する方法。ビルド過程でテストが実行される。
  • Application Test : アプリケーションを実際に実行し、この中でテストを実行する方法。実機でしかテストは実行できない。

2つの使い分けだが、基本的に model のテストは Logic Test で、controller のテストは Application Test で行うのが基本のようだ。Logic test だと [UIApplication sharedApplication] の返り値が nil なので、これに依存するものは動作しない。

Xcode4 での Test

Xcode4 で新規にプロジェクトを作成するときにテストも一緒に作成することができる。このときに生成されるのはApplication Test のほうである。テストを実行するときは、Run ボタンを長押しして Test を選択すればよい。

最初からプロジェクトを作成する場合はこれでよいのだが、自前で Test Bundle を追加する場合はどうするのか?たぶん正しいやり方はこう。

  1. New Target から Cocoa Touch Unit Testing Bundle を追加する。
  2. Scheme ボタンを押して、Edit Scheme を選択。
  3. アプリケーションをビルドするための Scheme を選択 (新しく Scheme が追加されてるけどこちらは使わない)
  4. Build を選択し、"+" を押して Testing Buldle を追加する。
  5. Test を選択し、"+" を押して Testing Bundle を追加する。

これで OK 。ただし、このやり方の場合、テストは Logic Test になるので注意が必要である。
これを Application Test にする場合はさらに以下の手順を行う。

  1. プロジェクト設定で、TARGETS から追加した Testing Bundle を選択。
  2. Build Settings の "All" を選択。
  3. Testing Bundle をアプリケーションに link させるため、Linking にある "Bundle Loader" に、対象アプリケーションを指定する。具体的にはアプリ名を Hoge とすると、 $(BUILT_PRODUCTS_DIR)/Hoge.app/Hoge と記入する。
  4. テスト時にアプリケーションを起動させるため、Unit Testing にある "Test Host" に $(BUNDLE_LOADER) を設定する。

以上。設定がよくわからない場合は、Xcode4 で空プロジェクトをつくって中を覗いてみるのがおすすめ。

'11/11/5 追記。

Application Tests をする場合は、ターゲットアプリケーション側の "Symbols Hidden by Default" 設定を NO にしておくこと。そうしないと、テストクラスからアプリケーション側のクラスをリンクできない。

なお、Xcode 4 でのテスト方法については、以下に記載されている。

http://developer.apple.com/library/ios/#documentation/Xcode/Conceptual/ios_development_workflow/135-Unit_Testing_Applications/unit_testing_applications.html

Localizable.strings を UTF-8 で記述する方法

自分向けの覚書き。

iOS のアプリをローカライズするときに Localizable.strings という文字列リソースファイルを作るわけだけど、このファイルはデフォルトで UTF-16 で作る必要がある。だけど、UTF-16 は SCM (git とか)と大変相性が悪く、diff とか取れない。なので UTF-8 を使いたいところ。

で、いろいろ調べていたら Xcode 3.1 から UTF-8 で *.strings ファイルを作成する方法がサポートされていた。やり方は簡単で、ビルド設定で STRINGS_FILE_OUTPUT_ENCODING = "UTF-8" に設定しておけばいいらしい。詳細は Xcode のリリースノートを見られたし。

UTF-8 にすると多少遅くなる(デコードしなきゃならないから)かも知れないようだけど、気にしない。

Microrosft Money Plus Sunset 日本語版でたよ!

Microsoft Money Plus Sunet の日本語版がでました!

http://www.microsoft.com/downloads/details.aspx?FamilyID=60302e1e-207e-4710-ac80-d19c22e47488&displayLang=ja

現行の Money Plus は 2011/1月末にアクティベーションサーバが停止してしまうのでそれ以降は OS を再インストールすると使えなくなってしまうのですが、Sunset 版はアクティベーションがないので、それ以降も安心して使うことができます。また、電子明細のダウンロード機能は使えないのですが、FeliCa2Money を使えば明細の取り込みが可能です。CashFlow for iPhoneCashFlow for Android との連携も使えます。

もう一つ重要なのは、Money Plus はすでに入手不能(販売不能)ですが、Sunset 版は誰でも無料でダウンロードして使うことができるという点 (Money Plus を買ってなくても OK)。

ありがたやー。

FeliCa2Money 3.0 開発中

Microsoft Money サポートが 2011/1月末で終了することにともない、Money電子明細(OFX)のダウンロード機能が停止になります。それだけでなく、各金融機関もこぞって Money電子明細サポートの打ち切りに入っています。OFX は Money固有のフォーマットじゃないちゅうのに。あほか。

そんなわけで、2011/1月末以降、大量の MS Money 難民が発生することが予想されます。これがアメリカなら Quicken という移行先があるわけですが、日本にはほとんどない (Master Money はあるけど、あれは資産管理ソフトじゃないしなぁ)。

やむなく、FeliCa2Money に移行機能をつくり込むことにしました。具体的には Agurippa 電子明細を OFX に変換する機能を実装中。Agurippa電子明細は、gooワンビリングやJNBアグリゲーションが提供する電子明細で、MasterMoney が対応しているフォーマット。OFXに比べるとかなり腐ってるフォーマットですが、ないよりはマシ。

さしあたり、この機能があれば当面はしのげそうです。FeliCa2Money 3.0 ベータ版は http://felica2money.tmurakam.org で公開しています。

CashFlow Android 版β公開しました

Android 用の CashFlow がようやくモノになってきたので、β版を公開しました。こちらからダウンロードできます。

iPhone の CashFlow とほぼ完全に同一の機能を実装しています。CSV/OFXエクスポート機能なども入っています。

今回、iPhone 版をせっせと Java に移植したわけですが、やはり1から作るのに比べると手早くできますね。特に、Model 部分を自前の OR mapper で自動生成するように作ってあったので、Android 用に移植するのもツールの書き換えで済んだのがかなり楽でした (UI 部分は結構面倒でしたが、、、)

なお、スクショは Smartia で撮ったものです。