Sphero iOS AR和Unity Build

时间:2013-10-24 18:38:19

标签: unity3d sphero-api

是否有关于如何在iOS上构建Sample Unity AR项目的教程?我显然错过了几个步骤,因为在将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 个答案:

答案 0 :(得分:0)

确保您在文件系统中与项目的Assets文件夹在同一级别构建xcode项目,postprocessbuildplayer脚本对构建xcodeproj的位置做出一些假设,并且必须处于该级别。

例如,如果您的资产文件夹在此处:

/myproject/Assets

你的xcodeproj文件应该在这里

/myproject/generatedProject/Unity-iPhone.xcodeproj

答案 1 :(得分:0)

以下步骤解决了我的问题(类似于原始帖子和第一个答案):

1)确保我的项目是Unity 3.5.7(我曾尝试继续在4.2.2中工作,我必须通过git恢复任何项目设置更改,并删除Library和obj目录)

2)删除现有项目(在包含Assets director的文件夹中,我正在构建一个我删除的目录ios)

3)XCode似乎保留了一些设置/中间文件。我必须选择Product-> Clean,同时按住alt(alt将更改" Clean"输入" Clean Build Folder")。

此时_sMotionManager链接器错误消失了,但我收到了一堆提到i386符号的链接器错误。为了摆脱这些我简单地说:

4)确保您的构建目标是设备而不是模拟器。用于iOS的模拟器构建x86二进制文件而不是arm文件,机器人/视觉库仅为ARM编译。

我希望这会有所帮助,我今天正在复活一个AR项目并偶然发现了这个问题。

答案 2 :(得分:0)

也许你可以删除:

extern CMMotionManager *sMotionManager;

并添加:

CMMotionManager *sMotionManager;

@implementation ARUNBridge_iOS和@end

之间的

或将其放在@interface的.h文件中