Awakingリリース

朝起きる時間を記録して健康的な早起きの習慣を身につけましょう、という趣旨の「Awaking」というアプリをリリースしました。無料です。

http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=334519731&mt=8

機能は大雑把に二つ。

  • 起きた時間を記録し一ヶ月ごとで表示する
  • 最近一週間の起床時間をグラフで表示する

とったところです。スクリーンショットApp StoreAwaking公式サイトで確認することが出来ます。

UITextViewでコピペ機能を効かないように出来るか

開発していてよくわからないことがあったんですが、
世界のどこかには知っている人がいるかもしれないので書いておきます。


UITextViewでだらだらと文章を表示している場合、
間違えてコピペ機能が動いてしまうことがあります。
そんなことが起こってしまうUI設計が糞だという話は
一旦おいておくとして、
UITextViewでコピペ機能を効かないようにできませんかね、というのが今日の話題。


オフィシャルのUIPasteboard解説やhow disable copy ,cut,select ,select All in UITextViewを見た感じでは、
UITextViewのサブクラスを作ってcanPerformAction:withSenderを上書きしてやればよさそうです。
ということで、

-(BOOL)canPerformAction:(SEL)action withSender:(id)sender{

    if(action == @selector(cut:) 
       || action == @selector(copy:) 
       || action == @selector(paste:) 
       || action == @selector(select:) 
       || action == @selector(selectAll:)){
        return NO;
    }
    return [super canPerformAction:action withSender:sender];
}

とか書いてみました。
stackoverflowの説明まんまですね。
しかしながら、これがうまくいきません。
調べた感じでは確かにcopy:やpaste:が呼び出されたタイミングで
NOが返っているものの、
普通にコピペは機能してしまいます。

ブライアン・カーニハンとiPhone

新しいSoftwareDesignが届いたので読んでいました。
2009年10月号ですね。
簡単にメモ程度。


メインの特集「スケールアウトスケールアップの鉄則」はいまいちでした。
要件定義から入るのはいかにもといった感じで、
役に立つ場面もあるでしょう。
一方で、Akamaiの特集は面白かったです。
半分以上宣伝でしたが、やはり興味津々。


今月号で一番面白かったのは
ブライアン・カーニハンのインタビュー記事ですかね。
詳細は書きませんが、iPhoneの話題なんかが出てきてニヤリ。

RemoteTubeLite/Plusアップデート

RemoteTubeLite、Plusのアップデートがリリースされました。
http://bit.ly/5uAFI
RemoteTubePlus 1.1(AppStore)
RemoteTubeLite 1.2(AppStore)
更新内容は
・ブラウザ全画面表示
・OS3.1での表示不具合対応
Twitter投稿機能でハッシュタグ#remotetubeをつける
といった感じです。
あとは何となくアイコンも変えました。
提出してからだいたい二週間ぐらいでのリリースですね。

iPhone用アプリ開発のどうでもいい豆知識

少し間が空いてしまったので、
比較的どうでもいいことでも書きます。

自分の開発したアプリがリリースされて、
それをまあDLしてiPhoneに突っ込んだとしましょう。
そして、そのアプリを一端削除し、
今度はXCodeから実機にアプリをインストールします。
その時点ではアプリは当然インストールされた状態のわけですが、
その後にiTunesでアプリの同期をすると、
アプリは削除されます。

一番最初にDLしたアプリを削除したままの状態だから
ということなんでしょう。
気がつくまでは、
アップデート版のテストなどで一端削除して
XCodeから実機に入れたアプリが
いつの間にかなくなっていてどうしたんだろうとか思ってました。

UINavigationBarリターンズ

しばらく前にUINavigationBarのカスタマイズという記事を書きました。
今日少しNavigationBar関係で調べ物をしていたら、UINavigationBarDelegateというのが普通にあるみたいですね。
push、popのタイミングで普通に呼び出されてかなりよさげ。
あと、少し前にどこかで読んだんですが、
UINavigationBarの背景は普通にdrawrectでよいっぽいですね。

RemoteTubePlusの使い方マニュアル

RemoteTubePlus使い方マニュアルをアップしました。画像をふんだんに使ったので結構大変でしたが、どのようなアプリなのか確認するためにも使えるのではないでしょうか。今のところ日本語しかありません。。