Mikimemo

個人的な技術・開発メモやポエム

コマンドラインからXcodeビルド

Xcodeプロジェクトはコマンドラインからでもビルドできます。

xcodebuild -project "XXXX.xcodeproj" -configuration "Release"

これでできるはずだけどエラーでました。

2012-04-23 16:02:37.958 ibtoold[5490:e0b] [MT] DVTAssertions: ASSERTION FAILURE in /SourceCache/IDEInterfaceBuilder/IDEInterfaceBuilder-1938/Framework/WidgetIntegration/IBIntegratorManager.m:278
Details: Failed to find integrator bundle for class NSPopover
Object:
Method: -registerIntegrator:remainingIntegratorsBySuperclass:
Thread: {name = (null), num = 1}
Hints: None
Backtrace:
0 0x000000010085ebd4 -[DVTAssertionHandler handleFailureInMethod:object:fileName:lineNumber:messageFormat:arguments:] (in DVTFoundation)
1 0x000000010085eaa4 _DVTAssertionFailureHandler (in DVTFoundation)
2 0x0000000100021b42 -[IBIntegratorManager registerIntegrator:remainingIntegratorsBySuperclass:] (in IDEInterfaceBuilderKit)
3 0x0000000100021c69 -[IBIntegratorManager registerIntegrator:remainingIntegratorsBySuperclass:] (in IDEInterfaceBuilderKit)
4 0x0000000100021c69 -[IBIntegratorManager registerIntegrator:remainingIntegratorsBySuperclass:] (in IDEInterfaceBuilderKit)
5 0x0000000100021804 -[IBIntegratorManager registerIntegrators:] (in IDEInterfaceBuilderKit)
6 0x00000001000213b4 -[IBIntegratorManager loadAllIntegrators] (in IDEInterfaceBuilderKit)
7 0x00000001000210cc -[IBInterfaceBuilderPlugin init] (in IDEInterfaceBuilderKit)
8 0x0000000100020f91 +[IBInterfaceBuilderPlugin ide_initializeWithOptions:error:] (in IDEInterfaceBuilderKit)
9 0x000000010047eb7c _IDEInitializeOnePlugInAndPrerequisites (in IDEFoundation)
10 0x000000010047e8cd _IDEInitializeOnePlugInAndPrerequisites (in IDEFoundation)
11 0x000000010047e38c IDEInitialize (in IDEFoundation)
12 0x0000000100003e58 (in ibtoold)
13 0x0000000100001a94 (in ibtoold)
14 0x000000000000000b
Command /Developer/usr/bin/ibtool failed with exit code 6

Mac OSはこの前Lionに、Xcodeも4.3にアップデートしたんですが、
xcodebuildのバージョンが4.2のままになっていました。

$ xcodebuild -version
Xcode 4.2

4.3からXcodeの配布方法も変わりましたからね..


xcodebuildを正しいとこに向けます

$sudo /usr/bin/xcode-select -switch /Applications/Xcode.app/Contents/Developer
$sudo rm /usr/bin/xcodebuild
$sudo ln -s /Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild /usr/bin/xcodebuild

ちゃんと新しいバージョンが表示されます。

$ xcodebuild -version
Xcode 4.3.1

これでコマンドラインからBuildが通るようになりました。

Node.jsをインストール

Node.jsはサーバーサイドにJavascriptを使っちまおうっていうものです。
速いしクライアントと同じ言語で書けるしとてもいいらしいです。

今回はWebsocketの勉強でサーバにNode.jsを使うためとりあえずインストールします。
ちなみに環境はMacです。

Node Version Managerインストール

まずnvmっていうやつ入れます。
これがあると、Node.jsのインストールがコマンド一つでできたり、複数のバーションを切り替えたりできます。

gitでレポジトリからコピーもってきます

$ git clone git://github.com/creationix/nvm.git ~/.nvm

sourceして読み込ませればインストール完了です。

$ source ~/.nvm/nvm.sh

nvmとコマンド入力してUsageとかが表示されてればOK

ログイン時に自動でnvmを読み込むように.bash_profileあたりに設定を書いておきます。

$ vim ~/.bash_profile
source ~/.nvm/nvm.sh

Node.jsインストール

nvmを使ってNode.jsをインストール。簡単です。
現時点で最新バーションは0.4.11でったので、それを指定。

$ nvm install v0.4.11

結構時間がかかります。

インストールできたら使用するNode.jsを指定します。

$ nvm use 0.4.11
Now using node v0.4.11

これも自動で読み込むよう.bash_profileあたりに追加しておきましょう。

$ vim ~/.bash_profile
source ~/.nvm/nvm.sh
nvm use 0.4.11 # 追加

サンプル動かす

server.jsっていう名前で以下を保存

var sys = require('sys');
var http = require('http');

var server = http.createServer(
function (request, response){
response.writeHead(200, {'Content-Type': 'text/plain'});
response.write('Hello World!\n');
response.end();
}
).listen(8000);

sys.log('Server running at http://127.0.0.1:8000/');

でサーバーを起動します。

$ node server.js
4 Sep 16:37:37 - Server running at http://127.0.0.1:8000/

ブラウザでhttp://localhost:8000/と入力すれば「Hello World!」と表示されます。

サーバーを止めるときはCtrl+cです。