2008-01-01から1ヶ月間の記事一覧
サーバ故障からようやく本格的に立ち直ってきました。最後のバックアップがとれていた2007年5月以前のブログデータをそのままの形で復活させました。一応、mod_rewriteも使って、以前のURLでもアクセスできるはず。 http://110k.net/old/ 2007年5月以降のデ…
前回までの NSURLRequest の話を利用して、実際にフォト蔵へ写真をアップロードしてみましょう。使用するAPIは photo_add です。 #define ASCII_DATA(str) [(NSString*)(str) dataUsingEncoding:NSASCIIStringEncoding] { NSURL* apiUrl = [NSURL URLWithStr…
次は、NSURLRequestでデータを転送する話。特にPOSTの場合。 これもよくわからなかったので、いろいろとネットを徘徊した結果、こちらを参考にしました。 CocoaDec:HTTPFileUpload 要するに、マルチパートのメッセージを自前でこしらえる必要があるっていう…
ちょっとの間、フォト蔵、というよりCocoaによる通信のお話。 CocoaでHTTP等の通信を行う場合、NSURLRequestを使うのが一般的でしょう。ここでは、NSURLRequestの一般的な使い方、というより、ちょっとだけ突っ込んだところを見てみます。 で、Basic認証です…
さて、プラグイン側のひな形も出来たところで、次はフォト蔵へのアクセスを考えましょう。 多くのWebサービスがそうであるように、フォト蔵も外部からアクセスするためのAPIを公開しています。 フォト蔵API (β版) このAPIはRESTと呼ばれるタイプでして、もの…
さて、次は、サンプルソースを参考に、自前のプラグインのひな形を作ってみましょう。手順として大事なのは、ざっとこんな感じです。 Cocoa Bundleプロジェクトを作成 拡張子を .iPhotoExporter に変更 .nib ファイルの作成 File owner として ExportPluginP…
まずは、iPhotoプラグインの作り方を調べます。。。と、Appleのサイトを見ても何にも載ってませんねえ。。。 いろいろ、徘徊した結果、わかったこと。iPhotoプラグインの作成なんて公式にサポートされているものじゃなさそう。いわば、みなさんがハックした…
このシリーズでは、国内大手の写真共有サイト「フォト蔵」へ、iPhotoから直接写真を投稿するためのプラグインを作成する手順を紹介していきます。紹介、といっても、僕自身もiPhotoプラグイン作成は初めてのことなので、試行錯誤しながら、と。はてさて、ど…
iPhotoの書き出しプラグインの作り方。このあたりを参考にやってみましょう。 Writing PlugIns for Cocoa Developing an iPhoto export plugin (英語ですけどね)
Leopard になると、例えば NSTableView 上のとあるセルにカーソルを持ってくれば、勝手にそのセルの内容が ToolTip みたいなものとして表示されることがあります。これは、NSCell の新機能の一つである expansion frame というやつだそうです。 NSCell では…
繰り返し予定は無事に取り扱えることがわかりました。では、終日予定は、といいますと、、、 そもそも、イベントクラスである CalEvent のプロパティとして isAllDay というものがありまして、それがまさに終日予定かどうかを示しているわけですが、ここで問…
iCalのデータっていうのは当然のことながら、同時にいろんなアプリケーションからアクセスされます。なので、データを変更した場合にはそれを他のアプリケーションに通知しなければなりませんし、また他のアプリが変更した場合もその通知を受けとる必要が出…
自分でデータをすべて解釈していた時に、一番大変だった「繰り返し予定」。それは、本ブログの最初のころのエントリ「iCalとiCalendar」にもあらわれておりますけれど、さてさて CalendarStore ではどうなっているでしょうか。 ぱっとみたところ、CalRecurre…
とりあえず、既存のカレンダーデータへアクセスしてみましょう。 基本的には CalCalendarStore を使うところからはじまります。例えば、カレンダーの一覧を得るにはこういう感じで。 NSArray* calendars = [[CalCalendarStore defaultCalendarStore] calenda…
Leopardで追加されたフレームワーク、CalendarStore.framework。まあ、つまりはiCalのデータへのアクセッサフレームワークとでもいいますか。ざっくり見た感じでは、追加削除はもちろん、検索とかいろんな部分をきれいにラッピングしてくれているみたい。 拙…
cakePHPのトップディレクトリ (app/webroot) にブラウザからアクセスすると、デフォルトでは app/views/pages/home.thml を参照しに行きますが、いきなりなにかしらのアクションをおこしたい場合、つまり別ページを参照したい場合は app/config/routes.php …
PHP5.2以降限定の話だと思いますが、PEAR::XML_Feed_Parserでforeach文を使用すると Indirect modification of overloaded property XML_Feed_Parser_...::$idMappings has no effect といったNoticeが出力されます。__get関係の問題なのかな?とか思ったり…
FileHandlerコンポーネントを使うと簡単。 テーブル名やフィールド名が固定されてはいる(もちろん、オリジナルソースの改変で変更可)けれど、自分で自由にフィールドの追加ができますし、とりあえずcakeの枠内で楽にアップロードできます。 フィールドを追…
スリープへ移行するタイミングと、スリープから復帰するタイミングをとらえます。10.2までだと多少下層のコードにアクセスしないとダメだったんですが、10.3からはCocoaでアクセスできるようになりました。 NSWorkspaceWillSleepNotification // スリープへ…
メニューの中身がなにか別のデータに依存していて、そのデータの変更が結構頻繁だったりして、データ変更があるたびにメニューの中身を書き換えなくちゃいけなくて、それだったらメニューを表示する時(正確には表示する直前)に毎回データの中身をチェック…
多種多様な便利拡張モジュールを作っている unsanity のクラッシュレポート拡張モジュール Smart Crash Reports。OS 標準のクラッシュレポートに独自の連絡先を付加出来ます。こんな感じで 左下が標準の「アップルへ送信」ボタン、右下が拡張された「XXX と…
だいたいのことは、このサイトを参考にすれば大丈夫。 はやぐい/MacOS X 10.4 + PackageMakerでインストーラを作る で、いくつかメモ。 ローカライズの変更は手動の方法しかわかりません。パッケージ内の English.lproj を参考に手動で他言語のファイルを作…
NSAttributedString を用いれば HTML 文字列を HTML として解釈して描画してくれます。基本形はこれ。 // NSAttributedString -(id) initWithHTML:(NSData*)data options:(NSDictionary*)options documentAttributes:(NSDictionary**)dict 10.4以降なら自動…