天天看点

AR!!!高通Vuforia-iOS-SDK 和官方Demo 集成到iOS 项目中所需要注意的几点.AR!!!高通Vuforia-iOS-SDK 和官方Demo 集成到iOS 项目中所需要注意的几点.

AR!!!高通Vuforia-iOS-SDK 和官方Demo 集成到iOS 项目中所需要注意的几点.

首先,要说明一下,博主是一名AR小白,根据公司的计划,要我往Vuforia iOS原生 + 项目iOS原生方向发展,网上查了很多资料做Vuforia iOS原生的很少,大多都是U3D+iOS的,当时博主也是心累阿,翻墙翻的很累-.-,其实目前也就发展到SDK能用了, Demo搬到自己项目中,诶,能跑了,图像扫的出来了,其他的还在研究之中,好了,废话不多说,开始了~

对了,这是博主写的第一篇博文,排版什么的比较烂,还请多包涵~

  • 首先,当然是载一个Vuforia-SDK啦~(请选择17多MB的那个iOS SDk),(https://developer.vuforia.com/downloads/sdk)
  • 将自己写好的项目像官方demo一样放入samples目录文件夹下(官方有说法是说,放在外面更好有利于SDK以后替换更新可以看下官方的说法

    https://library.vuforia.com/articles/Solution/How-To-Migrate-an-iOS-SDK-project

  • 然后,打开自己的项目,(对了,博主用了的最新版Xcode),首先确保这两个地方吧,到build setting中->Valid Architectures写的是armv7s,armv7,arm64,(是不是上图会好一点!~
    AR!!!高通Vuforia-iOS-SDK 和官方Demo 集成到iOS 项目中所需要注意的几点.AR!!!高通Vuforia-iOS-SDK 和官方Demo 集成到iOS 项目中所需要注意的几点.
  • Enable Bitcode 设为NO
  • Other Linker Flags 加上 -ObjC
  • Header Search Paths 加上 ../../build/include
  • Library Search paths 加上 ../../build/lib/arm
  • 然后,去到 Build Phase 里的 Linker Binary with Libraries 添加依赖库 ,如下图所示
    AR!!!高通Vuforia-iOS-SDK 和官方Demo 集成到iOS 项目中所需要注意的几点.AR!!!高通Vuforia-iOS-SDK 和官方Demo 集成到iOS 项目中所需要注意的几点.
    其中 libVuforia,a 静态库就在刚才载的SDK里,build -> lib -> arm里能找到, 添加进去就可以了—–做到这里,一些配置已经基本搞定,

接下来就是拉文件,我是只实现了ImageTargets那个功能,其他类似的

先自己再项目里创建一个group,把官方Demo里的 SampleApplication整个文件拉过来,然后再拉ImageTargets这个文件夹,再者去AppDelegate写上相应的代码(就是和官方Demo里写的一样),因为官方demo里有菜单那个页面, 所以就照搬吧,把SampleAppMenuViewController两个文件拉过来.

目前看来,编译一下command +B 是不会报错的了,(可能会,有点忘了,不用急, 因为这个是只能真机测试的,)对了,还要把Resource文件拉到自己工程中,

文件什么的都配置好之后,就是调用高通那个页面啦,

到你跳转页面的那个按钮方法里,我们现在要跳的页面是ImageTargetsViewController,官方demo里用的storyboard的segue来跳转页面,所以在他未跳转页面时那个视图控制器里没有导入这个ImageTargetsViewController的头文件,所以重点来了,就是官方demo里的SampleAppAboutViewController的.m文件没有设置为.mm文件,很多人会在这里出错,(博主也是啊,一把辛酸泪,),故一旦你导入了ImageTargetsViewController的头文件,你就要把导入的那个.m文件改问.mm文件,就不会出现那个可恶的错误,*“unknow type name ‘namespace’”,*

所以我还是建议就用segue的方法,而且demo里在ImageTargetsViewController 还实现了segue的跳转时一些设置,当然你也将它改了,这个自己把握啦~

我在用的时候,,还有一个问题, 是那个加载的菊花消失会有报错, 那在那句代码改成回到主线程来消失菊花就OK了.

到这里,就没什么问题啦, 可以用真机试试啦~

对了….额.. 还有一个问题, 证书的问题,https://developer.vuforia.com/license-manager,这里去注册一下,写到SampleApplicationSession的147行代码mVuforiaInitFlags上就可以了~

目前博主也就做了这些,如果有帮助到你,我会很开心的,博主还在研究模型替换,OpenGL 等一些问题,感兴趣的童鞋可以加个 我建的群吧–432397283—, 大家一起讨论,进步,(是做iOS原生的来, u3d的童鞋就不要来了,因为也提供不了什么帮助.请多包涵~)

继续阅读