Reeder for MacにGrowl通知を追加
数日前に素晴らしいGoogle Readerのクライアント、ReederのMac版が登場しました。 もともとReederはiPhone, iPad用のアプリで、最高のiPhone, iPadアプリのひとつでした。
現在Reeder for Macはベータ版としてリリースされています。とても良いアプリなのですが、何かが足らないのです。そう、Growlによる通知です。実は、昨年Tweetieで似たようなことをやっています。
そこでReeder for MacのプラグインをつくってGrowlによるデスクトップ通知を可能にしました。 未読の記事があるとすぐに通知されるようになります。これで読み逃しと未読地獄からは開放される(かも)しれませんね。 多分近い将来Reeder for Mac自体がデスクトップ通知を実装するとは思いますが、今なにも無いよりはいいかなと思い公開します。
Mac OS XでネイティブAPIをGoogle Chromeの拡張機能から実行
先日のWWDCでAppleはSafariの拡張機能を公開し、またSafari Developer Programを開始しました。 既にGoogleはChromeブラウザで拡張機能を提供していますし、にわかにFirefoxの独壇場だった拡張機能市場が盛り上がりを見せています。
実際、僕はSafariがデフォルトブラウザなのですが、たまにChromeを使って、Chrome上からURLをSafariに送りたくなったりします。 しかし、ちょっと探してみてもそのような拡張機能はありません。なければ作るしかないわけですね!
ただ、これを実現するには他のアプリケーションをGoogle Chromeから起動しなくてはいけませんし、そうするためにはMac OS XのネイティブAPIを呼び出す必要があるわけです。ひょっとしたらもっと賢い方法があるかもしれないのですけど。Google Chromeは幸いネイティブコードを拡張機能から実行する手立てを用意してくれています。そのためにはFlashプレイヤーのようなNPAPIに対応したプラグインを作成して拡張機能のバックグランドページに読み込みます。この記事ではNPAPIプラグインを利用してネイティブコードをエクステンションから呼び出す方法を紹介します。
まず始めに
ソースコードはgithubのレポジトリで公開しています。 すでにgitを利用している場合はgithubからレポジトリをcloneしてください。gitがない場合は、githubのDownload SourceボタンからZipかTarをダウンロードして解凍してください。
% git clone git://github.com/niw/open_with_default
Tweetie for MacにGrowlを追加(仮)
いろんなtwitterクライアントがあふれていますが、今はかなり便利でかっこいいTweetie for Macを使っています。 でも、少なくとも現在のバージョンはGrowlに対応してないんですよね。
TweetieHackでTweetie for Macをハック
そんなTweetieがGrowlをサポートするのが待てない!ということで、Growlに対応させるプラグインを作りました。
ご存知の通り、Tweetieの作者はGrowlに対応させる作業をしています。ので、これはとても一時的な急場しのぎのプラグイン(仮)です。Enjoy!
TweetieHackアップデートのお知らせ
最新のTweetieHack 0.2.0はTweetie 1.1をサポートし、そのGrowl通知を改良します。Tweeterの名前をタイトルに表示したり、最新5件のTweetをTweeterのアイコンと表示する、などなど。
下記の通りTweetie 1.1でGrowl通知は本体がサポートしましたが、TweetieHackのGrowl通知が良いという方のためにもアップデートは続けようと思います。(2009年5月10日更新)
iPhoneでOpenCVを使う方法
OpenCVはIntelが開発したコンピュータビジョンのライブラリで、例えば顔検出などを簡単に行うことができます。 覚え書きとして、OpenCVをiOS SDKをつかってiPhone上やiPadで使う方法を、ビルドスクリプトとデモアプリケーションつきでメモしておきます。 これらのサムネイルはデモアプリケーションのスクリーンショットです。
最新のOpenCVとiOS SDKに対応
プロジェクトをOpenCV 2.2.0、iOS SDK 4.3、Xcode4に対応しました (2011/4/17更新)。
ひとまず使ってみる
すべてのソースコードとリソースはgithubのレポジトリに公開されています。 簡単に使えるように、事前にコンパイルしたOpenCVのライブラリとヘッダファイルを入れてあります。 すでにgitがあるなら、githubからレポジトリをcloneしてください。ない場合は、githubのdownloadリンクからzipかtarをダウンロードして解凍してください。
% git git://github.com/niw/iphone_opencv_test.git
ソースコードを手に入れたら、OpenCVTest.xcodeprojをXcodeで開いてビルドします。 デモアプリケーションがシミュレータと実機両方で動くことが確認できると思います。
ポップアップウィンドウをUIWebViewで使う
UIWebViewはiPhone SDKのかなり重要なUIKitのクラスです。 ご存知の通りSafariが丸ごと入ってますが、しかし、ウィンドウを開く、ポップアップするというイベントは無効にされています。
<a href="somehere" target="_blank" />Open this link in new window</a>
たとえば、このようなリンクがUIWebViewのなかで表示されてユーザがクリックしたとしても、何も起きません。 勿論、UIWebViewはかなり高度に抽象化されていて、いくつかのメソッドを呼ぶ事はできます。 そこで、完璧ではないのですがある程度この問題を解決する手段があります。 鍵となるメソッドは次のものです。
language:objc
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
- (void)webViewDidFinishLoad:(UIWebView *)webView
- (NSString *)stringByEvaluatingJavaScriptFromString:(NSString *)script