タグ:"iPhone" で記事を検索

地図メモ開発状況
2010.02.19 05:00 | 地図メモ, iPhone
いつも地図メモをご利用いただきありがとうございます。
また、ご意見、ご感想、ご要望等、たくさんいただきまして大変感謝しております。
皆様からのコメントはアップデートする上でとても参考にさせていただいております。

アップデートが滞っていて大変申し訳ないのですが、現在の地図メモ開発状況をお知らせいたします。

現在、サーバにバックアップが取れるようにサーバ側の準備を日々行っている現状です。
iPhone端末での入力もやはり面倒なので、PCからウェブ経由で情報の整理などを行えるようにしています。


・地図メモウェブのオープン
iPhone端末でとりあえず場所だけチェックしておいて、帰宅してからウェブで詳細を記入。なんてことができるようになるので、とても便利になると考えています。
これができると、バックアップをサーバに残しつつ、使い勝手も良くなるので頑張って作っています。

・地図メモとウェブとの自動同期
一件一件手動で同期をするのはやはり面倒(自分で作ってみて試しましたがやっぱり面倒)なので、一回同期の設定をしたら自動的に同期をするようにしようと思います。アプリ側で自動同期をしない設定もできるようにする予定なので、同期したくない方はしないこともできる感じです。

・写真の一覧表示
数名の方からご要望を戴いていた、写真からメモを選択出来る機能を次のアップデートで入れ込む予定です。「地図表示」「一覧表示」「写真表示」の3つの表示方法ができる感じになるので、ボタンが少々多くなってしまい煩雑になりそうなのが心配なところですが、使っているととても便利なのでこれは次に入れていこうと思っています。

・Google先生から検索
iPhoneでどういうUIを作ったら便利に実装できるのかまだ悩んでいるところです。自分的にも欲しい機能なので入れたいのですが、もう少し考えさせてください。ウェブ版では始めから入れていこうと思っています。


正直なお話し、自動同期部分の実装で手間取っています。バックグラウンドで同期をするのは必須と考えているのですが、何か操作をしている時にマレにエラーでアプリが落ちてしまう現象が数件確認されているので、もう少しテストをしてからリリースすることになりそうです。
バックアップを心待ちにしている皆様にはご迷惑をおかけしますが、今しばらくお待ちいただければと思います。


ウェブにデータを保存するときには、やっぱり利用規約とか必要ですよね・・・
個人で運営するには危険なんだろうかとちょっと心配になっています。。。
そのあたりに詳しい方で心優しい方、アドバイスをいただけると大変ありがたいです。


地図メモ 3.0.0 が公開されたぞ!
2010.01.20 04:00 | 地図メモ, iPhone

表記のとおり、地図メモ3.0.0が公開されました!
まとまった時間がなかなか取れず、更新を待っていただいている皆様には大変ご迷惑をおかけしていると、ただただ反省ばかりです。
ウェブサイトの内容も更新できておりませんが、ウェブより先にサービス優先なのでまだまだ頑張りたいと思います。

皆様からたくさんご意見、ご感想戴いていること、大変感謝しております。
皆様のご意見をたくさん入れつつ、使いにくくならないようになんとか頑張って作っていきたいと思います。

今後ともどうぞよろしくお願いいたします。


# iPod touch対応も今行っているところです。基本的にGPS取れないのでどのような実装にしたらいいのか迷っています。GPS取れないとちょっと不便になってしまうのですが満足に使用してもらえるのかがとても心配なところです。「とりあえず」使えるようにはしてリリースしますのでiPod touch版、もう少々お待ちください!

地図メモ 2.1.0 が公開されたぞ!
2009.10.28 14:35 | iPhone, 地図メモ

申請から約2週間、ようやく公開されました。

今回はみなさまからのご意見を主にアップデート内容としたのですが、色々詰め込みすぎてUIがややごちゃごちゃしてしまった感が否めません。
色々すっきりしたUIを考えているのですが、んー悩ましい。

色々ご意見いただけるとありがたいです。

地図メモ 2.1.0 の申請をしたぞ
2009.10.16 01:20 | iPhone, 地図メモ

ようやくアップデートとバグチェックが終わったので申請かけました。
おそらく10日前後でアップデートかかると思います。
今回はみなさんにもらったご意見をふんだんに盛り込んで結構なアップデートになります。
少々UI変わったところもあるから、気に入ってもらえるかちと心配ですが・・・

<機能追加>
- メモへの電話番号、メールアドレス、URL項目の追加
- メモからダイレクトに電話、メール、ウェブ閲覧機能追加
- メモをアドレス帳に登録する機能追加
- メモからの「マップアプリ」立ち上げ機能追加
- 一覧表示でのメモ検索機能追加

<機能変更>
- カテゴリ管理ボタンを設定ボタンへと変更
 設定画面からカテゴリ名や、カテゴリ並び替え可能

<バグfix>
- 写真を削除する際に複数枚同時に消えてしまうバグをfix

<パフォーマンス改善>
- 地図表示でピンが大量に立っている場合のパフォーマンス改善
- 一覧表示の動作高速化

大きな機能としては、検索が乗っかったことが大きいかな?
数が増えてもある程度は対応できるんじゃないかと思います。
あと、どなたかに指摘をもらっていた「外部連携」関連の機能をかなり盛り込みました。
電話をかけたり、メールができたり、ウェブが見れたり、連絡先追加できたり、標準で入ってるマップアプリにピンを立てて起動できたり。
メモ詳細画面も、AppBankさんの記事で「これ好きじゃない」って言われてしまったのでちょっと改造しておきました。気に入ってもらえるかどうか・・・

とまあ、心配もありつつ、期待もありつつ。
結構気合い入れてアップデートしたのでぜひぜひ感想とかいただけるとありがたいです。

地図メモ用のtwitterアカウント作りました!
@mapnote

どしどしご意見、ご感想いただければと思います!

地図メモがAppBankに載りました!
2009.10.11 22:35 | iPhone, 地図メモ, AppBank

ありがたいことに、AppBankにて @toshism0331 氏に「地図メモ」のご紹介をしていただきました!
地図メモ: デフォルトのマップの『メモ機能』に不満があるあなたへ。

大変感謝です。。
やはりメディア力というのはとんでもないんだなーとつくづく実感です。

これからもがんばってアップデートしていこうと思いマッス!

こちらに詳細情報掲載してます!

アイドルタイマーを無効にする
2009.07.31 01:50 | iPhone

iPhoneではデフォルトでアイドルタイマーが有効になっている。
これが働いてしまうとなんか処理中のときに画面が真っ暗になってしまい一旦スリープモードに。。
これを回避したいときにやりかた。

[[UIApplication sharedApplication] setIdleTimerDisabled:YES];
iPhoneで連絡先に追加
2009.07.29 16:10 | iPhone, AddressBook

よーやく理解できたー
結構簡単に連絡先追加できるのね。UIも用意してくれてるみたいだし。
うん、こりゃ便利。

--- AddBookViewController.h ---

#import <AddressBook/AddressBook.h>
#import <AddressBookUI/AddressBookUI.h>

@interface AddBookViewController : UIViewController <ABNewPersonViewControllerDelegate> {
}

@end

--- AddBookViewController.m ---

#import "AddBookViewController.h"

@implementation AddBookViewController

- (void)viewDidLoad {
	UIButton *addBookButton = [[UIButton buttonWithType:UIButtonTypeRoundedRect] retain];
	[addBookButton setFrame:CGRectMake(10, 10, 300, 30)];
	[addBookButton setTitle:@"AddBook" forState:UIControlStateNormal];
	[addBookButton.titleLabel setFont:[UIFont systemFontOfSize:14.0]];
	[addBookButton addTarget:self action:@selector(addBookButtonClicked:) forControlEvents:UIControlEventTouchUpInside];
	[self.view addSubview:addBookButton];
	[addBookButton release];
}

- (void)addBookButtonClicked:(UIButton *)sender {
	NSString *lastName = @"Last";
	NSString *firstName = @"First";
	NSString *telNum = @"03-0000-0000";
	NSString *url = @"http://blog.rakugaki.jp";
	NSString *addressPostal = @"100-0000";
	NSString *addressPref = @"Tokyo";
	NSString *addressCity = @"Machida";
	NSString *addressStreet = @"1-1-1-1";
	UIImage *faceImage = [UIImage imageNamed:@"icon.png"];
	// create view controller
	ABNewPersonViewController *viewController = [[ABNewPersonViewController alloc] initWithNibName:nil bundle:nil];
	ABRecordRef newBook = ABPersonCreate();
	CFErrorRef error;
	// name
	ABRecordSetValue(newBook, kABPersonLastNameProperty, (CFStringRef)lastName, &error);
	ABRecordSetValue(newBook, kABPersonFirstNameProperty, (CFStringRef)firstName, &error);
	// phone
	ABMutableMultiValueRef multiPhone = ABMultiValueCreateMutable(kABMultiStringPropertyType);
	ABMultiValueAddValueAndLabel(multiPhone, telNum, kABPersonPhoneMainLabel, NULL);
	ABRecordSetValue(newBook, kABPersonPhoneProperty, multiPhone, &error);
	CFRelease(multiPhone);
	// url
	ABMutableMultiValueRef multiUrl = ABMultiValueCreateMutable(kABMultiStringPropertyType);
	ABMultiValueAddValueAndLabel(multiUrl, url, kABPersonHomePageLabel, NULL);
	ABRecordSetValue(newBook, kABPersonURLProperty, multiUrl, &error);
	CFRelease(multiPhone);
	// address
	ABMutableMultiValueRef multiAddress = ABMultiValueCreateMutable(kABMultiDictionaryPropertyType);
	NSMutableDictionary *addressDictionary = [[NSMutableDictionary alloc] init];
	[addressDictionary setObject:addressPostal forKey:(NSString *)kABPersonAddressZIPKey];
	[addressDictionary setObject:addressPref forKey:(NSString *)kABPersonAddressStateKey];
	[addressDictionary setObject:addressCity forKey:(NSString *)kABPersonAddressCityKey];
	[addressDictionary setObject:addressStreet forKey:(NSString *)kABPersonAddressStreetKey];
	ABMultiValueAddValueAndLabel(multiAddress, addressDictionary, kABOtherLabel, NULL);
	ABRecordSetValue(newBook, kABPersonAddressProperty, multiAddress, &error);
	CFRelease(multiAddress);
	// image
	if(faceImage!=nil) {
		// resize image
		UIGraphicsBeginImageContext(CGSizeMake(60.0,60.0));
		[faceImage drawInRect:CGRectMake(0, 0, 60, 60)];
		UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
		UIGraphicsEndImageContext();
		NSData *imageData = UIImagePNGRepresentation(image);
		// add image data
		ABPersonSetImageData(newBook, (CFDataRef)imageData, &error);
	}
	// set new book to view controller
	viewController.displayedPerson = newBook;
	viewController.newPersonViewDelegate = self;
	CFRelease(newBook);
	[self.navigationController pushViewController:viewController animated:YES];
	[viewController release];
}

# pragma mark --- ABNewPersonViewControllerDelegate methods

- (void)newPersonViewController:(ABNewPersonViewController *)newPersonViewController didCompleteWithNewPerson:(ABRecordRef)person {
	// save button action
	if(person!=NULL) {
		CFErrorRef error;
		ABAddressBookRef addressBook = ABAddressBookCreate();
		ABAddressBookAddRecord(addressBook, person, &error);
		ABAddressBookSave(addressBook, &error);
	}
	// cancel button action
	else {
	}
	[newPersonViewController.navigationController popViewControllerAnimated:YES];
}

タグ一覧