memorandums

日々の生活で問題解決したこと、知ってよかったことなどを自分が思い出すために記録しています。

Sphero SDK のサンプルをビルドするときにはまったこと

先日のオープンキャンパスで来場者に操作してもらってSpherotoonの操作が難しいことがわかりました。

Spherotoon ではSpheroが提供してくれているアプリをそのまま利用しているのですが、このアプリには様々な機能が搭載されているため誤ってタッチすると操作できないモードになったり。。。

そこで次回までに操作だけに絞ったアプリをSphero SDKを使って作ろうと思いまして、SDKをダウンロードしてまずサンプルを動かしたのですが。。。エラー。。。oFと同じようにパスとかライブラリの問題、もしくはiPhoneアプリ特有のライセンス情報の設定と思ったのですがなかなか解決できない。

ちなみにエラーは以下です。

Undefined symbols for architecture x86_64:
"_OBJC_CLASS_$_RKConvenienceRobot", referenced from:
__TMaCSo18RKConvenienceRobot in ViewController.o
"_OBJC_CLASS_$_RKRobotDiscoveryAgent", referenced from:
__TMaCSo21RKRobotDiscoveryAgent in ViewController.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

ViewController.oで参照しているなんちゃらメソッドx86_64には対応していない(参照しているライブラリ内には見つからない)というエラーかと思います。でも。。。iOSなのになんでx86_64なんて参照しようとするんかいなぁ。。。

途中、会議を挟んで1時間くらい、あれでもないこれでもないと試行錯誤しました。

結論は簡単で。。。Spheroのサンプルはエミュレータ用にはビルドできないため(要はMac本体であるx86_64ということ)に出ているエラーであり、iPhoneを接続してエミュレータではなく接続したデバイスを選択してビルドボタンを押せばよかったわけです。

ヒントになったのはこちらのフォーラムの書き込みでした。

ちゃんちゃん。