Sphero iOS AR и Unity Build

Есть ли учебник о том, как собрать пример проекта Unity AR на iOS? Я, очевидно, пропускаю несколько шагов, потому что после перетаскивания папки Editor в папку Asset проекта, нажатия кнопки Build and Run и сохранения сборки в фактической папке проекта, Xcode по-прежнему выдает мне несколько предупреждений и несколько ошибок:

    Undefined symbols for architecture armv7:

  "RobotVision::AREngine::startVision()", referenced from:

      __ARUNBridgeStartVisionEngine in ARUNBridge.o

  "RobotVision::VirtualSphero::locatorAlignmentAngle() const", referenced from:

      ARUNBridge::getCurrentResultStruct() in ARUNBridge.o

  "RobotVision::VirtualSphero::pose() const", referenced from:

      ARUNBridge::getCurrentResultStruct() in ARUNBridge.o

  "RobotVision::ARResult::virtualSphero() const", referenced from:

      ARUNBridge::getCurrentResultStruct() in ARUNBridge.o

  "RobotVision::Pose::position() const", referenced from:

      ARUNBridge::getCurrentResultStruct() in ARUNBridge.o


  (...)


      ARUNBridge::initializeBridge(RobotVision::PlatformParameters) in ARUNBridge.o

ld: symbol(s) not found for architecture armv7

clang: error: linker command failed with exit code 1 (use -v to see invocation)

Большое спасибо за вашу помощь!

3 ответа

Убедитесь, что вы создаете свой проект xcode на том же уровне в вашей файловой системе, что и папка Assets проекта, сценарий postprocessbuildplayer делает некоторые предположения о том, где вы строите xcodeproj, и он должен быть на этом уровне.

Например, если ваша папка ресурсов находится здесь:

/myproject/Assets

Ваш файл xcodeproj должен быть здесь

/myproject/generatedProject/Unity-iPhone.xcodeproj

Возможно вы можете удалить:

extern CMMotionManager *sMotionManager;

и добавить:

CMMotionManager *sMotionManager;

между @implementation ARUNBridge_iOS и @end

или поместите это к @interface в это.h файл

Следующие шаги решили мои проблемы (аналогично как исходному посту, так и первому ответу):

1) удостоверился, что мой проект был Unity 3.5.7 (я пытался продолжить работу в 4.2.2, мне пришлось отменить любые изменения настроек проекта через git и удалить каталоги Library и obj)

2) удалить существующий проект (в папке, в которой находится директор Assets, я встраивал в каталог ios, который я удалил)

3) XCode, похоже, хранит некоторые файлы настроек / промежуточных файлов. Я должен был выбрать Product->Clean, удерживая нажатой клавишу alt (alt изменит запись "Clean" на "Clean Build Folder").

На этом этапе ошибка компоновщика _sMotionManager исчезла, но я получил кучу ошибок компоновщика с упоминанием символов i386. Чтобы избавиться от них, я просто:

4) Убедитесь, что целью вашей сборки является устройство, а не симулятор. Симулятор для iOS строит двоичные файлы x86, а не ручные, а библиотеки роботов / видений были скомпилированы только для ARM.

Надеюсь, это поможет, я воскресил проект AR сегодня и наткнулся на эту тему.

Другие вопросы по тегам