IRCのニックネームの入力値チェック用に、ニックネームに使用できる文字を正規表現でチェックするテストプログラムを作ってみた。
まず、Cocoaで正規表現を使う方法を調べてみたら、
- rangeOfString: option:NSRegularExpressionSearch を使う方法
- NSRegularExpression を使う方法
というのがあって試してみたのだが、undeclaredとコンパイルエラーになったのでおかしいなあとドキュメントを調べてみたらどちらも 10.7 and later と書いてありあきらめる。(現在のわたしの開発環境は、Mac OS X 10.6.8 で Xcode 3.2.6)
次に、RegexKitLite というフレームワークを使う方法があったのでこちらでやってみることにしたのだが、ググったどっかの解説ページに書いてあった、単純に RegexKitLite.h と RegexKitLite.m をプロジェクトに追加しただけではビルドできなくて、再度ググって見つけたページに書いてあった libicucore.dylib をFrameworkに追加したらビルドできて動いた。
違っていた部分は、わたしの環境は10.6だったのでそちらの方(/Developer/SDKs/MacOSX10.6.sdk/usr/lib/libicucore.dylib)を選んだ。それと上記ページには追加したあとにいろいろやってるけど、わたしの場合は追加しただけで動いた。
んで、ニックネームのチェックの動作確認用に作ったのが下記プロジェクト。正規表現部分を書き換えてビルドすれば他にも使えるんではないかと。
プロジェクト CheckNickname のダウンロード
↑プロジェクトの提供方法がよくわからんのだがこれでいいのだろうか? buildフォルダを削除してzip圧縮してみたのだが。











うちもぞうさんと同じ環境です。Mac OS X 10.6.8 で Xcode 3.2.6 です。
問題なくビルド&実行できました。
そういえば、プロジェクトを配布する際、ビルドメニューの「すべてのターゲットをクリーニング」をやっていました。おまじないですね。