kingdong020543
管理员
管理员
  • UID6
  • 粉丝51
  • 关注2
  • 发帖数141
  • 喜欢达人
  • 社区居民
  • 忠实会员
  • 原创写手
阅读:1342回复:0

怎样迁移iOS SDK项目

楼主#
更多 发布于:2015-08-20 14:41
怎样迁移iOS SDK项目

   如果你是从vuforia 4迁移到5,一定要回顾 Vuforia 5的变化。迁移vuforia 4项目到vuforia5不需要代码或项目结构变化,你可能是想要扩展你的项目,利用vuforia 5中新的API。

   如果你是从vuforia 3项目迁移到4或5,按照下面的步骤。这将使你做出必要的改变来适应vuforia 3项目的最新vuforia API。

注:本文只涉及到原生的iOS SDK项目。对于iOS的Unity项目,参见:
如何迁移Unity项目到vuforia4
迁移Unity项目到Vuforia 5

vuforia 35

   Vuforia5iOS SDK中有一些API发生了变化,需要对之前版本的SDK下的代码进行调整。

1。在< ImageTracker>类的所有事件代码必须用< ObjectTracker >类取代。
24.0版本的QCAR.setInitParameters()方法需要一个额外的字符串参数,用于应用程序的许可证密钥,见下文。

添加一个许可证密钥


   Vuforia 4应用程序需要一个许可证密钥来解锁4.0平台的功能。你需要在许可证管理器创建许可密钥并把它添加到你的项目,参阅如何添加一个许可证密钥到你的vuforia APP

参阅:
vuforia许可管理
如何创建一个应用程序许可证

   如果一个项目是建立在同一目录下的vuforia3示例,需要做以下几点:

  1. 安装vuforia 4 SDK
    复制项目到vuforia 4示例目录。
    编译并运行项目。
    如果项目有自己的目录结构,确保应用程序引用的是目录的新文件。
    复制并覆盖所有包含文件和库文件,替换旧文件。

API的变化


   通过类型类及其相关的API,你现在可以执行以前依靠枚举类型的某些操作:





  • Tracker, Trackable, TrackableResult 类移除枚举类型
    引入新的类型的类

代码的变化


初始化一个跟踪器,使用下面的C++代码:


  1. QCAR::ObjectTracker* objectTracker = static_cast<QCAR::ObjectTracker*>
        (trackerManager.initTracker( QCAR::ObjectTracker::getClassType() ));
复制代码
TrackerManager获得一个跟踪器,使用下面的C++代码:




  1. QCAR::ObjectTracker* objectTracker = static_cast<QCAR::ObjectTracker*>
        (trackerManager.getTracker( QCAR::ObjectTracker::getClassType() ));
复制代码

比较TrackableResults类型,使用下面的C++代码:



  1. const QCAR::TrackableResult* result = state.getTrackableResult(tIdx);
    if (result->isOfType(QCAR::ImageTargetResult::getClassType()))
    {
        // Do something target-specific
    }
复制代码

比较跟踪的类型,使用下面的C++代码:



  1. const QCAR::Trackable& trackable = result.getTrackable();
    if (trackable.isOfType(QCAR::ImageTarget::getClassType()))
    {
        // Do something target-specific
    }
复制代码

UnityiOS编译设置的变化


   Unity 4.6.3推出iOS平台支持Metal渲染框架,已定义Metal作为默认的图形API。因为vuforia不使用Metal框架,需要设置您的iOS图形选项,设置为强制OpenGLES 2.0

欢迎分享

游客

返回顶部