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,(是不是上图会好一点!~


Enable Bitcode 设为NO
Other Linker Flags 加上 -ObjC
Header Search Paths 加上 ../../build/include
Library Search paths 加上 ../../build/lib/arm
然后,去到 Build Phase 里的 Linker Binary with Libraries 添加依赖库 ,如下图所示
依赖库
其中 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上就可以了~

推荐阅读更多精彩内容