モノクロタイム

I'm from the future!

【Unity4】QCARを使ったARアプリのビルドが通らない件【Xcode】

Unity4が正式にリリースされましたね。

Proライセンスを持っていましたので無償でアップデートさせていただきました。

まぁ、Unity4については後々の記事で詳しく触れたいと思います

 

QCARを使ってARアプリを作っている方は多いと思いますが、Unity4にあげたことによってXcodeの方にプロジェクトを持っていった時にビルドが通らないとかいう怪現象が起きます。なにこれはじめて。

3dでは何も怒られなかったのに。

 

ビルドが通らない事にはアプリとしてリリースできませんので、なんとかビルドを通しましょう。

 

Xcodeは3つのエラーを吐き出します。

 

f:id:yomoyamareiji:20120921173426p:plain

 

QCARUnityPlayer::getInstance().QCARNotifyCreated((int)surface->w, (int)surface->h);

 

まず1つはw,hがメンバー内に無いというエラー。

これはどうもカメラ画面の表示位置指定、大きさの指定に関わっているようです。

w→幅

h→高さ

ですね、わかりやすい。

さて、似たような変数は無いものか。

とかソースを眺めているとありました。

targetW,targetHです。

これを上述のソースに当てはめます。

 

QCARUnityPlayer::getInstance().QCARNotifyCreated((int)surface->targetW, (int)surface->targetH);

 

これで1つめのエラーは解決します。やったね!

 

さて、ガンガンつぶしていきますよ

 

同じ位置で2つのエラーが出ていますが、1つずつ解決していきます。

f:id:yomoyamareiji:20120921174206p:plain

 

QCARUnityPlayer::getInstance().QCARSetOrientation(_curOrientation);

 

_curOrientationってもしかしなくてもorientationじゃね?

っていうサジェストが出てきますので、それにしたがって

_curOrientationをorientationに書き換えます。

はい、1つ撃破。

 

QCARUnityPlayer::getInstance().QCARSetOrientation(orientation);

 

そして2つめのエラー。

orientationをint型に変換できない、みたいな事をいうので、

最初っからint型に指定して突っ込んでやりましょう。

 

QCARUnityPlayer::getInstance().QCARSetOrientation((int)orientation);

 

はい、これでエラーは全て潰せました。ビルドも通りますし、エディタ画面と同じように動かすことができます。

 

しかしこのエラー、Unity側からプロジェクトを持ってくる度に書き換えないといけないので少々面倒です。

早くFixしてほしいなー。