2

Sphero と iOS 7 で問題が発生しています。クイック スタート ガイドに記載されているように、新しいプロジェクトを開始するための手順が記載されているはずの 1.6 リリース ノートに手順が記載されていなかったため、「統合する」を使用しました。既存のプロジェクト」タブで、展開ターゲットを 6.0 に設定し、すべてのフレームワークを取り込み、リンカー設定を追加しました。起動すると、次のエラーが表示されます。

Undefined symbols for architecture armv7:
  "_OBJC_CLASS_$_RKMCStop", referenced from:
      objc-class-ref in RobotKit(RKMacroObject.o)
  "_OBJC_CLASS_$_RKMCWaitUntilStop", referenced from:
      objc-class-ref in RobotKit(RKMacroObject.o)
      objc-class-ref in RobotKit(RKRobotControl+MacroAdditions.o)
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)

誰でも私を助けることができますか?私はそれを大いに感謝します!前もって感謝します、

ジョー

「このガイドの例は、Objective-C を使用してビルドされ、現在リリースされている OS と Xcode の現在のバージョンでテストされています」というのは、API が iOS と Xcode の現在のバージョンでテストされていることを意味していると思い込んでいたのは間違いだったと思います。

4

1 に答える 1

1

よし、私は自分のプロジェクトでこのエラーを再現できたので、それは良いことです。この問題は iOS 7 に固有のものではなく、統合の手順が不十分であることが原因だと思います。しかし、私は何かを機能させることができたので、うまくいけばあなたもできるでしょう。ただし、まだ本格的に開始していない場合は、HelloWorld のクローンを作成してコードを配置するのが最善の策です。先に進みます。

Frameworks ディレクトリにあるファイルのバージョンにはバグがあるようで、開発者が修正できないレベルです。彼らの情報については、GitHub で問題を報告しています (これは後で更新します)。修正番号 1 : 最上位のフレームワーク ディレクトリの代わりに、HelloWorld/Frameworks ディレクトリの 3 つのファイルを使用します。

これでビルドと実行は完了しますが、アクセス許可を宣言せずに外部アクセサリを使用しようとしているため、ログにエラーが記録されます。そのため、Info.plist に移動して、「サポートされている外部アクセサリ プロトコル」というキーを追加します。項目 0 は「com.orbotix.robotprotocol」です。千の言葉に値する:

Plist の変更

そこから、そのサンプルに示されている残りの部分を実装するだけです。言うは易く行うは難し。プロジェクトを HelloWorld のように見せるために、他にもいくつかの変更を加えましたが、それらが必要かどうかはわかりません。私のプロジェクトの初期の動作状態を GitHub にアップロードしました。見てみたい、または試してみたいという方のために。ここにあります: GitHub の SpheroSays

幸運を!

于 2013-12-31T21:15:48.867 に答える