いくつかメモ。
京都でおすすめのカフェ等ありましたら、ぜひコメントくださいませ!
京大内のカフェでWIFIで電源ありないのかしらん。京大行ってみたいんですけどねー。

カフェ テラッツア:哲学の道 法然院前

雰囲気が素敵。WIFIがあって電源も貸してもらえるそうです。
場所的には行きづらいですが、気分転換にもなるし良さそう。疲れたら歩くのもいいですしね♪
http://www.cafeterrazza.com/index.html

京都のオープンカフェ

全部でWIFIを使うことはできなさそうですが、雰囲気がいいのは気分が違いますからね。
http://yattemiyou.net/blog/archives/2007/10/post_295.html

AP マクドナルド 四条河原町店

http://fortecafe.seesaa.net/category/745313-1.html

こぎれいで雰囲気良さそうです。

posted by Png satoko on Tue 9 Dec 2008 at 12:32 with 2 comments

以下のメソッドを呼び出すと何が得られるだろうか?

   1  def foo
   2    return 1
   3  ensure
   4    return 2
   5  end

以下のように、ensure内でreturnされた2が帰ります。

   1  foo #=> 2

面白いですね。何かに使えそうだ。

posted by Png genki on Tue 9 Dec 2008 at 09:36 with 1 comment

現在審査中のversion 1.1が出るのを待って、アップデートの申請を予定している PokéDia version 1.2から、 今日の残タスク(チェックボックスがついているメモ)数をバッジで表示できるようになります。

ss01

設定画面はこんな感じです。デフォルトではオフになっています。

ss02

このようなタスクがある場合、

ss03

このように、残タスク数を表示します。

posted by Png genki on Tue 9 Dec 2008 at 07:02

iPhone内で使われている最適化されたPNGについて解説しているページ。

最適化されたPNGと、そうでないPNGでは、[UIImage drawInRect:]の速度が大分違うようです。 PNGの最適化は、Xcodeがリソース中のPNGをBundleにコピーする時に行われる模様。

posted by Png genki on Sun 7 Dec 2008 at 11:32

現在開発中のPokéDia 1.2から、起動時に表示される日を選べるようになります。

ss1

デフォルトではオフで、終了時に表示していたページを表示します。 オンにすると、常に今日のページを表示するようになります。

posted by Png genki on Sat 6 Dec 2008 at 14:08

今日は、報告いただいていたバグのうち、重要なものについては修正が完了しました。 以下は、解決済みのバグです。

  • メモを浮かせてフリックで移動して固定した後に、逆方向にフリックして閉じるとメモが消える。
  • チェックボックスをオンにすると禁則処理によって意図しない改行が入り、表示が乱れる。
  • メールアドレスを沢山登録すると設定画面のスクロールが乱れる

その他、比較的すぐに実現出来る機能改善などを行っていきます。

  • 起動中にLoadingの表示を入れる
    IMG_0016.PNG

同じアプリのアップデートを同時に複数審査してもらう事が出来ないので、 メール送信のバグを修正した version 1.1 の審査が通り次第、現在開発しているversion 1.2を申請いたします。

posted by Png genki on Sat 6 Dec 2008 at 04:02

iPhoneってメール送信はmailtoしか用意してないんですね。それ以上のものを作る(長い文字列の送信など)には自分でSMTPクライアント作るしかないみたいです。
とりあえずmailtoを使ったアプリSendingEmailを作ってみました。

作業

  1. プロジェクトの新規作成でView-Based Applicationを選択:SendingEmailとする
  2. SendingEmailViewControllerにsendingEmail関数を追加
  3. SendingEmailViewController.xibファイルをダブルクリックしてInterfaceBuilderを起動
  4. InterfaceBuilderで先ほど追加したsendingEmailとGUIをマッピング
  5. Build&Goして動作を確認します:エミュレータではメール送信画面は表示されませんので、実機でどうぞ

UIViewControllerにsendingEmail関数を追加

SendingEmailViewController.hファイル

   1  @interface SendingEmailViewController : UIViewController {
   2  }
   3  
   4  - (IBAction) sendingEmail: (id) sender;
   5  
   6  @end

SendingEmailViewController.mファイル

   1  #import "SendingEmailViewController.h"
   2  
   3  @implementation SendingEmailViewController
   4  
   5  - (IBAction)sendingEmail:(id)sender {
   6   	NSURL* mailURL = [NSURL URLWithString: @"mailto:satoko@somedomain.com?subject=My%20Subject&body=bodyStuff"];
   7  	NSLog(@"mailURL: %@", mailURL); //Debug		[[UIApplication sharedApplication] openURL: mailURL];
   8  } 

InterfaceBuilderでの作業:SendingEmailViewController.xibを編集

  1. Round Rect Button(UIBUtton)をview上にドロップしてtitleにsend Emailと入力
  2. File's Ownerを右クリックしてダイアログを開き(この黒いダイアログなんて呼ぶのかな...)
  3. File's OwnerのsendingEmail関数を、ボタンの関数Touch Up Insideと結びつける
    1. ダイアログ内のReceived Actions項のsendingEmailの右端の丸をクリック&ドラッグして、
    2. ステップ1.で置いたボタン上までマウスを持って行き
    3. ボタンがハイライトされたらマウスを放す
    4. ダイアログ内のTouch Up Insideを選択

sendingEmail_InterfaceBuilder.png

注意

件名や本文はエンコードしないといけないようです。
http://eggbung.blogspot.com/2008/11/iphone-development-creating-email-with.html
http://www.iphonewebdev.com/examples/mailto.html

posted by Png satoko on Thu 4 Dec 2008 at 16:51

とりあえずサンプルは動いた。でも何がなんだかわからないという人はこれをやってみるといいかもしれません。

developer.apple.comのiPhone101
上記リンクの内容のpdf版

学んだ・作業したこと

  • xibはニブ(nib)ファイルと読む
  • Delegatorとプロトコルがなんとなく
  • (初心者には便利な)Interface Builderを使ってのGUI作成

できたアプリ

UITextFieldに名前を入力して、Helloボタンを押すと、"Hello, satoko!"と表示するアプリ iPhone Simulator.png

posted by Png satoko on Thu 4 Dec 2008 at 15:03

メモメモ。

NSLogクラスとDebugger Console

NSLogというクラスを使ってDebugger Consoleに出力できます。
Debugger Console:Run - Console または Shift+Command+Rで開く

サンプルアプリ SpeakHereより

   1  NSLog (@"updateUserInterfaceOnAudioQueueStateChange just called.");
   2  NSLog (@"Recorded file path: %@", fileURL); 

便利なiPhone デバッグ用のマクロがあった

http://d.hatena.ne.jp/Psychs/20081120/1227203259
by Psychsさん

このマクロを使うと下記の関数が使えるようになります。大変便利です!

   1  LOG(@"initialized %@", obj);
   2  LOG_CURRENT_METHOD;

ちなみに、このマクロはSpeakHere_Prefix.pchなどのプリコンパイル済みヘッダにいれるとよいようです。

posted by Png satoko on Thu 4 Dec 2008 at 14:34

メール通知機能がSPAM扱いをされてしまい、メールが送信が出来なくなるトラブルが解決できたので、 PokéDia-1.1をiTunesストアに申請いたしました。 承認されるまで、今しばらくおまたせいたしますが、 何卒よろしくお願いいたします。

今後とも、ご報告いただいている不具合の修正を進めるとともに、 ご要望いただいている機能の実装などを行っていきます。

それでは、今後ともよろしくお願いいたします。

posted by Png genki on Thu 4 Dec 2008 at 12:06