Browsing "ソフトウェア"
6月 16, 2009 - ソフトウェア    コメントは受け付けていません。

MyCollage

iCollage-200906167140230.jpg
iCollage-200906171091458.jpgiPhone 3.0用のアプリです。
画像とテキストからコラージュを作るアプリです。画像は写真ライブラリの中の写真、音楽ライブラリの中のアルバムアートワークが使用可能です。大きさ、角度、アルファ値の変更が可能です。テキストは、フォントの選択、大きさの選択、角度、アルファ値の変更、12色の中から色の選択ができます。音楽ライブラリの曲名、アルバム名、アーティスト名もテキストとして利用可能です。画像もテキストもドラッグして任意の位置に移動できます。また出来上がったコラージュのJPEG画像をメールに添付して送信することができます。コラージュの大きさは、1200 X 900ピクセルです。画面をダブるタップしてスタートしてください。テキスト、画像の変更も、ダブルタップです。

6月 16, 2009 - ソフトウェア    コメントは受け付けていません。

Wakeup Tunes

IMG_0011.jpg
IMG_0012.jpg
iPhoneの音楽ライブラリによる目覚まし機能です。気持ちよく起きられるよう、音量は最小から始まって、最大になるまでの時間(MAX15分)を設定できます。スケジュールは、今日、明日、明明後日、曜日による設定、週末、平日の設定ができます。設定できる音楽は、1曲の楽曲、アルバム、アーティスト、作曲者、ジャンル、iTunesのプレイリスト、Wakeup Tunesのプレイリストです。曜日ごとに異なるアルバム、アーティストでお目覚めが可能です。スケジュール設定画面では、シャッフルの設定やボリュームの設定、最大ボリュームまでの時間の設定、試聴ができます。再生中は、アルバムのアートワークと、時刻が表示されます。
Instructions(English)
説明書(日本語)

6月 13, 2009 - ソフトウェア    コメントは受け付けていません。

Music Cloud

IMG_musiccloud_20090613_1.jpg
IMG_musiccloud_20090613_2.jpg
MediaPickerなしでも動作する、3.0用のiPhoneアプリ「Music Cloud」を本日登録。音楽ライブラリで再生された回数を元に、曲名、アーティスト名をクラウド状に表示するものです。作成したマップは、メール添付で外部に取り出せます。カラフルに色をつける機能、表示順をランダムにする機能もあります。お試しいただければと思います。

6月 11, 2009 - ソフトウェア    コメントは受け付けていません。

最後まではらはらさせられる

image_johnpowell_20090611.jpgiPhone OS 3.0 のリリースまで1週間となり、先日GM Seedと呼ばれる新しいベータがリリースされたのですが、今度はMediaPickerが動作しなくなりました。
最初は、コーディングのせいかと思ったのですが、Appleのサンプルプログラムまで動作しない。
早速、バグレポートを送りました。
アプリのリリースは先になりそうです。

5月 6, 2009 - ソフトウェア    コメントは受け付けていません。

3.0beta 2つのTips

2.2.1 では動作するが、3.0beta4では空白の画面になる、ApplicationDelegateのコード。


// Create the window
window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// Create the navigation and view controllers
MSSelectViewController *rootViewController = [[MSSelectViewController alloc] 						  initWithDatabase:database];
navigationController = [[UINavigationController alloc]
initWithRootViewController:rootViewController];
[rootViewController release];
// Configure and show the window
[window addSubview:[navigationController view]];
// Override point for customization after application launch
[window makeKeyAndVisible];

3.0beta4で動作するコード。違いはwindowsの初期化をしていないことと、rootviewControllerのリリース位置が違う。

	// Create the window
//window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// Create the navigation and view controllers
MSSelectViewController *rootViewController = [[MSSelectViewController alloc] 				  		initWithDatabase:database];
navigationController = [[UINavigationController alloc]
initWithRootViewController:rootViewController];
// Configure and show the window
[window addSubview:[navigationController view]];
// Override point for customization after application launch
[window makeKeyAndVisible];
[rootViewController release];

もうひとつのTip、MPMediaPlayerはsetQueueWithItemCollectionで再生する時には、シャッフルモードになっているときには動作しない。さもありなんというところか。

5月 1, 2009 - ソフトウェア    コメントは受け付けていません。

iPhone OS 3.0 beta4のバグを回避する

IMG_tullys_20090501.jpg28日にbeta4がリリースされたのですが、リリースノートを見ると先日お話しした、UIViewControllerのバグは依然として直っていない。
業を煮やして、解決法を探りました。
その結果、次のようにすれば、解決できることが分かりました。
UIImagePickerController *ip = [[UIImagePickerController alloc] init];
if ([UIImagePickerController isSourceTypeAvailable:SOURCETYPE])
ip.sourceType = SOURCETYPE;
ip.delegate=self;
//[self presentModalViewController:ip animated:YES];
[[self navigationController].modalViewController presentModalViewController:ip animated:YES];
[ip release];
コメント行が従来のダメだったコードです。微妙ですね。
ここまではよかったのですが、beta4にアップしたところ、テーブルビューが表示されなくなりました。まだ不安定のようです。
それに加えて、今日は、ソフトでシステム・ボリュームをコントロールできるかトライしました。
結果としては、できない・・・。値を取得するところまではできたのですが。
どういうときに、こういうニーズがあるかというと、ドックのついたスピーカーと接続する時ですね。こういう場合、音楽プレーヤーのボリュームは無効で、システムボリュームが有効になります。
もうひとつ、問題が発覚したのは、楽曲を識別するのに、PersistentIDを使っていたのですが、例えばファームをアップデートして、同期し直すと、この値が変わってしまう。これは頭が痛いです。曲名で識別することもできますが、同じ曲名がある可能性もあるし。

4月 23, 2009 - ソフトウェア    コメントは受け付けていません。

NSMutableArray の代わりにNSMutableSetを使う

image_children_20090423.jpgiPhoneアプリのエンハンスとチューンアップをしています。
チューンアップはなかなか難しく、今まで作り上げたアルゴリズムは、おいそれと冗長な部分を見つけるのは難しいです。
でも、ついに発見。Arrayに要素を追加しながら、その要素を処理するループ。
同じオブジェクトが不必要に何回か登録される可能性があることが分かりました。
すでに処理したオブジェクトに対する全く同じ処理が何回か走る可能性があります。
このためNSMutableArray の代わりにNSMutableSetを使うことにしました。
こうすれば、同じオブジェクトは2回は登録されない。
ただ要素を取り出す時に、Enumerationを作らないと取り出せない。このオーバーヘッドが発生しますが、
特に処理が重い時に、少しパフォーマンスがアップするはずです。
エンハンスの方は、今まで、ボタンで行っていた処理を、オブジェクトのドラッグで直感的にできるように修正。
こちらは、使い勝手がよくなったと思います。
実機で安定化をした上で、バージョンアップの予定です。

3月 12, 2009 - ソフトウェア    コメントは受け付けていません。

Your application status is Ready for Sale

mindsketch_20090312.jpgやっとAppleから許可が下りました。今日、AppStoreから検索してみたら、ちゃんと販売されていました。
Mind Sketchといいます。マインドマップの1種です。

2月 22, 2009 - ソフトウェア    コメントは受け付けていません。

commons-net.jarでダウンロード

image_Chen_20090222.jpgダウンロード・サーブレットの件、ftp4jを使ったのですが、お客様から、jakartaのcommons-net.jarを使ってほしいと。
修正は簡単だったのですが、今度は日本語ファイル名のファイルがダウンロードできない。
解決法はFTPClientのスーパークラスのFTPクラスにエンコーディングの設定がある。
Windowsサーバーなら、
client.setControlEncoding(“Windows-31J”);
あるいは、
client.setControlEncoding(“SJIS”);
ポイントは、コネクトの前に設定すること。

2月 18, 2009 - ソフトウェア    コメントは受け付けていません。

IE6でダウンロードするサーブレット

image_Alexei_20090218.jpgFireFoxではうまく行ったのですが、IE6だとダウンロードするファイル名が、サーブレットの名前になってしまう。
String cnv_filename = new String(sv_filename.getBytes(“SJIS”),”8859_1″);
response.setContentType( “application/octet-stream” );
response.setHeader( “Content-Disposition”, “attachment; filename=\”" + cnv_filename + “\”" );
ネットで検索すると、こんな答えが・・・。
要はHTTP圧縮を無効にして、かつ、Cache-Controlをno cacheにしないことの2点。
ええっ!本当にこんなことをしないといけないの?と思って、うまく行っている人のコードと見比べると
String cnv_filename = new String(sv_filename.getBytes(“Windows-31J”),”8859_1″);
response.setContentType( “application/octet-stream;charset=Windows-31J” );
response.setHeader( “Content-Disposition”, “attachment; filename=\”" + cnv_filename + “\”" );
とすると、どういうわけかうまく行く!HTTP圧縮とかCacheとか、一体なんだったのか?

ページ:«1234567...27»