at_yasu's blog

ロード的なことを

Cocoa

画像をHTMLのテーブルで表示

はてなはいくで書いた事だけど、画像ファイルをHTMLに変換するプログラム。dmgとかで公開するのも面倒なので、メソッドだけ公開。 - (NSString*) image2yaml:(NSImage*)img { NSBitmapImageRep* rep = [[NSBitmapImageRep alloc] initWithData:[img TIFFRepr…

CocoaBinding と key-value-coding

反省+メモ書き。今までずっとKVC = NSDictionaryだと思っていました。御免なさい。*1http://developer.apple.com/jp/documentation/Cocoa/Conceptual/KeyValueCoding *1:どおりで意味がわからない所がある訳だ・・・

MacらしいAPIドキュメント

メモ書き+全然読んでないから意味わかっていない状態だけど、とりあえず、docsetutilを使うという事はわかった。で、xmlとかはどうやって書くんだ・・・?まさか、手書きじゃないよ・・・ね?追記:と言ってる最中に、HeaderDocたる者が出てきた・・・もう…

MAC_OS_X_VERSION_10_* の定数

メモ書きMAC_OS_X_VERSION_10_5 などの定数は、Kernel.framework/Headers/AvailabilityMacros.h で定義されている。

NSView で FullScreen (全画面)

Leopard (Mac OS 10.5以上) だけでしかできないぽいです。 やっている事は簡単で、全画面にするNSViewに、enterFullScreenMode:withOptions: を投げてやるだけです。以下のは、Escキーを押したら全画面/window画面に切り替わるという品物。 - (void) keyUp …

文字打ち込み

上記の写真のような感じで、window内をマウスでクリックするとテキストフィールドが出てきて、文字を入力してエンターすると、それがwindow内に残るという物です。お遊び(というか息抜き)で作った物です。 ハッシュ値 md5 fe508d0049a2c03e9f2bc7d88ef4b7d…

Cocoaで全画面モード by Leopard

Leopardでは、NSWindowではなくNSViewで全画面にすることができるみたい。実験中。 参考:http://developer.apple.com/documentation/Cocoa/Reference/ApplicationKit/Classes/NSView_Class/Reference/NSView.html#//apple_ref/doc/constant_group/Full_scre…

Cocoaで全画面モード

どうやるのかわからなかったけど、webなどを参考にしたらもの凄く簡単な事だった。要は、setLevel: で Windowの表示階層を高位にして、[[NSScreen mainScreen] frame] で表示を画面全体にしているだけだ。参考:NSView fullscreen | MacRumors Forums 追記、…

NiCocoa v.0.0.3.0

と言う事で、丁度一週間経って次のバージョンです。ニコニコ動画の再生プレイヤーです。今回もソースコード公開。 以前のバージョンを使って下さっている方は、~/Library/Application Support/にある、NiCocoaというディレクトリを削除して下さい。Finderで…

AppKit Release Note

こんな書類があるとは知らなんだ・・・AppKit Release Notes for macOS 10.13

NiCocoa v0.0.2.0a

と言う事で、一週間ぶりにバグだらけの0.0.1.2a から 0.0.2.0a にバージョンアップ。Windowまわりでは全然変更点ありませんが、見えない部分の中身ががらりと変わりました。もちろん、大した事はしていませんが、今回の配布もソースコードはあります。今頃だ…

NSStringをURLDecode/URLEncode

NSString型の文字列をURLDecode/URLDecodeするように、機能拡張したカテゴリクラス。 Encodeは文字通り、[a-zA-Z0-9/\-_.]文字列以外*1のを%xxに変換する。てか、CFURL~を使って返しているだけ。Decodeは%xxをバイナリーに変換する。何かぱっと探しても簡単…

Nicocoa v0.0.1.2a

まだバグ持ちですが、0.0.1.2α公開。いちおうキャッシュ機能を付けたんですけど、見事に無視しています。バグです。ごめんなさい。下の写真はダウンロード後のスナップショット。もの凄く(開発者にとって)簡単に作ってますので、使いにくい部分があるかと…

Objective-C 2.0 の Property メモ

日本語ドキュメント - Apple DeveloperObjective-C 2.0からは、.構文を使ってオブジェクトのプロパティにアクセスすることができる。 でも実際に中身は、[hoge get変数名] [hoge set変数名:]と言った感じで下位互換を(無理矢理?)保っている。間違ってる所が…

あるサイトのみのCookieを、NSHTTPCookieで削除

タイトル通りそのまま。正確には、NSHTTPCookieStrageで削除。Cookieとかセッションクッキーで認証しているサイトで、NSURLでアクセスすると前のCookieを拾ってきてしまい、セキュリティ的にやばいと言うか、入力したパスワード間違ってても認証済みのクッキ…

適当すぎる動画プレイヤー

ニコニコ動画のプレイヤーを適当(徹夜)で作ってみた。もの凄く適当なので、バグやその他諸々不都合だらけだと思うので、使うのは自己責任でよろしくです。対応OSは、10.5以上のみ。Perian必須。ソースコードは一緒に付いてきます。てか、続けていくならこ…

NSObjectとGC

10.5からはGCがサポートされたので、GCが回収中にはfinalizeメソッドがよばれる。NSObject/finalizeCocoa Programming For Mac OS X Third Edition

Notification

使い方、書いていなかったのでメモ書きまず、受け取り側。addObserver:selector:name:objectで受け取る準備をする。 - (void) catcher { [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(loadAPI:) name:NCVIDEO_GET_VIDEOREF_N…

NSBitmapImageRepをちょっと拡張

NSBitmapImageRepをちょっと拡張したもの。現在、NSBitmapImageRepでは、bitmapDataメソッドで画像のピクセルデータが取得できますが、RGB, CMYKかは利用者が判断しなければなりません。ので、getRGB(), getCMYK()というメソッドをカテゴリクラスとして実装…

XcodeでSubVersionを使う際の一つの注意点。

タイトル通りそのまんまだけど、Xcodeがビルド等をしてファイルがころころ置き換わって「全体をコミット」をすることができなくなります。コマンドラインで毎回整合性を保つのもシンドイですし。 *注意*:この方法ですと、Xcodeからcheckoutしても、Xcode…

DocumentBaseAppの時、起動時に白紙のWindowが表示される。

タイトル通り、CocoaでDocument-Base Applicationを作ったとき、起動時に白紙のWindowが標準で表示されるようになっています。これの対処法。対処:NSApplicationのdelegateしているオブジェクトに下記のメソッドを追加するだけ - (BOOL)applicationShouldOp…

MAC_OS_X_VERSION_10_5 の定義

メモ書き。MAC_OS_X_VERSION_10_5やMAC_OS_X_VERSION_MAX_ALLOWEDの使い方と定義しているファイル。

LeopardとNSThread

某SNSにも書いた事です。Leopard上でNSThreadの+ detachNewThreadSelector:toTarget:withObject:メソッドは、使用しては行けない事になっている模様です。08/04/23:追記:沼田さん、突っ込みありがとうです。detachNewThreadSelector, initWithTarget:... …

画像の色空間の種類

NSImageクラスである画像が、RGBかCMYKかを知る方法 /* color space Check * ex:http://lists.apple.com/archives/cocoa-dev/2003/Nov/msg02080.html */ NSString *colorSpaceName = [img colorSpaceName]; if ([colorSpaceName compare:NSCalibratedRGBColo…

NSImageRepでDPIの取得方法

http://lists.apple.com/archives/cocoa-dev/2005/Aug/msg01894.html @implementation NSImageRep (NSImageRep) - (float) dpiX { return 72.0*[self pixelsWide]/[self size].width; } - (float) dpiY { return 72.0*[self pixelsHigh]/[self size].height;…

ボケ

ボケてました。 もしかして、Thread内で、[self ~~~] とかやったら駄目なの? Thread使わずにやったら機嫌良く動いたし・・・ 実は、[self ~~] ではなく引数obj で [obj ~~] としてました。んでもってスレッド呼び出しの時には、 [NSThread detachNewThreadS…

文字列の国際化

よく忘れてしまう事となのでメモ書き。 基本的にCocoaはKVCが取り入れられており、国際化をする際にもKVCを利用する。.stringsという拡張子のファイルは、言語用のファイルで中身は以下のようなフォーマットになっている。ご覧の通り、これは左辺がKeyで右辺…

NibToolのLocalize

よくコマンドの存在を忘れるからメモ書き。Interface Builder で作成したUIを、コマンドラインで国際化する方法。 > nibtool -L [NIB file] > [NibFile].strings ...Edit to NibFile.strings... > nibtool -d [NibFile].strings -w ../Japanese.lproj/[NIB f…

画像の種類分け。

トラックバックありがとうございます。おかげで、一歩前進できました。 今回あたしがしたかったのは、画像を読み込み、その画像をbitmapにして出力するという、至って単純な品物なんです。そして、読み込んだファイルのフォーマットがbitmapの場合は何もせず…

画像の付属情報メモ

Cocoa と言うよりCoreGraphicでいろいろな画像の(メタ|付属)情報を見た際の、それぞれの付属情報メタ情報の取得方法はこんな感じ。 // CF で画像を取得し、付属情報を得る NSURL *url = [NSURL fileURLWithPath:_myCurrentPath]; CGImageSourceRef isr = CGI…