Documentation

Migrate

Migration notes for the Wikitude SDK Native API (iOS)

Migrate from 8.3.2 to 8.4

  • Xcode 10.1 or older required to build the Swift example app for now
  • WTWikitudeNativeSDK
    • added:
      • isDeviceSupportingFeatures:error: is now the preferred way to check if the current device supports the iOS capabilities required for an AR experience

Migrate from 8.0 to 8.1

  • WTTrackerManager

    • deprecated:
      • -createCloudRecognitionServiceWithClientToken:targetCollectionId:completion: Use -createCloudRecognitionServiceWithClientToken:groupId:targetCollectionId:completion: instead
      • -createCloudRecognitionServiceWithClientToken:targetCollectionId:configuration:completion: Use -createCloudRecognitionServiceWithClientToken:groupId:targetCollectionId:configuration:completion: instead
  • WTCloudRecognitionService

    • added:
      • groupId
  • WTImageTrackerConfiguration

    • added:
      • trackerEfficiencyMode
  • WTInstantTrackerConfiguration

    • added:
      • trackerEffieciencyMode
      • enablePlaneDetection:
  • WTInstantTrackerDelegate

    • added:
      • -instantTracker:didRecognizePlane:
      • -instantTracker:didTrackPlane:
      • -instantTracker:didLosePlane:
  • WTObjectTrackerConfiguration

    • added:
      • trackerEfficiencyMode
  • Added:

    • WTExtent
    • WTPlane
    • WTPlaneDetectionConfiguration
    • WTPlaneFilter
    • WTPlaneType
    • WTPoint2D

Migrate from 7.2 to 8.0

  • WTWikitudeNativeSDK+Plugins
    • removed:
      • -registerPlugin:
  • WTTrackerManager:
    • deprecated:
      • -createTargetCollectionResourceFromURL:completion: Use -createTargetCollectionResourceFromURL: instead
        • -createCloudRecognitionServiceWithClientToken:targetCollectionId:completion: Use -createCloudRecognitionServiceWithClientToken:targetCollectionId:configuration:completion: instead
        • -createObjectTrackerFromTargetCollectionResource:delegate: Use -createObjectTrackerFromTargetCollectionResource:delegate:configuration: instead
    • removed:
      • isPlatformAssistedTrackingSupported()
    • added:
      • isPlatformAssistedTrackingSupported(IsPlatformAssistedTrackingAvailableCallback) is now an async API that performs an ongoing query rather than a sync call that immediately returns a result
      • -createTargetCollectionResourceFromURL: is now the preferred way to create target collection resources
      • -createObjectTrackerFromTargetCollectionResource:delegate:configuration: is now the prefrerred way to create object tracker. The configuration parameter is optional.
  • WTTargetCollectionResource:
    • added:
      • -load:
  • WTObjectTracker:
    • added:
      • -setExtendedTargets:
      • -stopExtendedTracking
      • -isExtendedTrackingActive
  • WTInstantTracker:
    • deprecated:
      • -requestCurrentPointCloudOnQueue:representedThroughDataProvider: Use -requestCurrentPointCloudRepresentedThroughDataProvider: instead
      • -convertScreenCoordinate:toPointCloudCoordinateOnQueue:completion: Use -convertScreenCoordinateToPointCloudCoordinate:success:error: instead
    • added:
      • -saveCurrentInstantTargetWithSceneName:success:error:
      • -loadExistingInstantTargetWithTargetCollectionResource:restoration:success:error:
  • WTInstantTrackerDelegate:
    • deprecated:
      • -instantTrackerDidStartTracking: Use -instantTracker:didStartTracking: instead
  • WTImageTarget
    • added:
      • -distanceTo:
      • -targetAreaInCameraFrame
      • -targetAreaInScreenSpace:
  • WTCaptureDeviceManager:
    • deprecated:
      • -exposeAtPointOfInterest:withMode:
      • cameraRenderingTargetTexture Implement cameraFrameRenderingTargetTextureId from the WTOpenGLESRenderingMode protocol instead.
    • added:
      • -focusAtPointOfInterest:
      • -exposeAtPointOfInterest:
  • WTCloudRecognitionServiceConfiguration
    • added:
      • WTCloudRecognitionTargetConflictSolver
  • WTExternalMetalRenderingProtocol
    • added:
      • -metalPixelFormatForVideoCameraInWikitudeNativeSDK:
  • WTNativeSDKStartupConfiguration
    • removed:
      • targetRenderingAPI
  • Plugin:

    • removed:
      • addToJavaScriptQueue
      • cameraFrameAvailable(Frame&)
      • endRender()
      • getJavaScriptQueue
      • getPluginType()
      • getRenderingContext()
      • initialize()
      • internalError(const std::string&)
      • requestRendering()
      • setRenderingContext(std::shared_ptr<sdk::RenderingContext>)
      • startRender()
      • surfaceChanged(Size<int>, Size<float>, InterfaceOrientation)
      • update(std::list<RecognizedTarget>&)
      • updatePositionables(std::unordered_map<std::string, sdk_core::PositionableWrapper*>&)
    • added:
      • cameraFrameAvailable(common_code::ManagedCameraFrame&)
      • canPerformTrackingOperationsAlongOtherPlugins()
      • canUpdateMultipleTrackingInterfacesSimultaneously()
      • getCameraFrameInputPluginModule()
      • getDeviceIMUInpputPluginModule()
      • getDirectXRenderingPluginModule()
      • getImageTrackingPluginModule()
      • getInstantTrackingPluginModule()
      • getMetalRenderingPluginModule()
      • getObjectTrackingPluginModule()
      • getOpenGLESRenderingPluginModule()
      • initialize(const std::string&, PluginParameterCollection&)
      • iterateEnabledPluginModules(std::function<void(PluginModule& activePluginModule_)>)
      • setCameraFrameInputPluginModule(std::unique_ptr<CameraFrameInputPluginModule>)
      • setDeviceIMUInputPluginModule(std::unique_ptr<DeviceIMUInputPluginModule>)
      • setDirectXRenderingPluginModule(std::unique_ptr<DirectXRenderingPluginModule>)
      • setImageTrackingPluginModule(std::unique_ptr<ImageTrackingPluginModule>)
      • setInstantTrackingPluginModule(std::unique_ptr<InstantTrackingPluginModule>)
      • setMetalRenderingPluginModule(std::unique_ptr<MetalRenderingPluginModule>)
      • setObjectTrackingPluginModule(std::unique_ptr<ObjectTrackingPluginModule>)
      • setOpenGLESRenderingPluginModule(std::unique_ptr<OpenGLESRenderingPluginModule>)
  • Added Classes:

    • CameraFrameInputPluginModule
    • DeviceIMUInputPluginModule
    • ImageTrackingPluginModule
    • InstantTrackingPluginModule
    • ObjectTrackingPluginModule
    • OpenGLESRenderingPluginModule
    • PluginModule
    • PluginParameterCollection
    • RenderingPluginModule
    • WTInstantTargetRestorationConfiguration
    • WTObjectTrackerConfiguration
  • Removed deprecated classes:

    • WTBaseTracker
    • WTClientTracker
    • WTCloudRecognitionResponse
    • WTCloudTracker

Migrate from 7.1 to 7.2

  • WTTrackerManager
    • new function -isPlatformAssistedTrackingSupported
      • should be used to guard methods that are not available when running with platform assisted tracking
  • WTInstantTracker
    • new function -canStartTracking
  • WTInstantTrackerDelegate
    • new function -instantTracker:didFailWithError:
  • WTInstantTrackerConfiguration
    • when running with platform assisted tracking, some functionality is not available; these functions will raise an error through the error callback when called regardless
      • new parameter trackingPlaneOrientation
    • new parameter SMARTEnabled
  • WTCaptureDeviceManager
    • new function -exposeAtPointOfInterest:withMode:
    • when running with platform assisted tracking, some functionality is not available; these functions will raise an error through the error callback when called regardless
      • activeCaptureDevicePosition
      • focusMode
      • focusDistance
      • autoFocusRangeRestriction
      • zoomLevel
      • maxZoomLevel
      • torchMode
      • hasTorch
      • fieldOfView

Migrate from 7.0 to 7.1

no changes required

Migrate from 2.1 to 7.0

  • iOS 9.0 or higher is now required
  • WTWikitudeNativeSDKDelegate
    • -wikitudeNativeSDK:didCreatedExternalUpdateHandler: Use -didCreateExternalOpenGLESUpdateHandler defined in WTExternalOpenGLESRenderingProtocol instead.
    • -wikitudeNativeSDK:didCreatedExternalDrawHandler: Use -didCreateExternalOpenGLESDrawHandler defined in WTExternalOpenGLESRenderingProtocol instead
    • -wikitudeNativeSDK:didSetupRendererWithAPI: Use selectRenderingConfiguration instead
    • -eaglViewSizeForExternalRenderingInWikitudeNativeSDK: Use -eaglViewSizeForExternalRenderingInWikitudeNativeSDK defined in WTExternalOpenGLESRenderingProtocol instead
    • -eaglContextForVideoCameraInWikitudeNativeSDK: Use -eaglContextForVideoCameraInWikitudeNativeSDK defined in WTExternalOpenGLESRenderingProtocol instead
    • -eaglContextForVideoCameraToTextureRenderingInWikitudeNativeSDK: Use -eaglContextForVideoCameraToTextureRenderingInWikitudeNativeSDK defined in WTExternalOpenGLESRenderingProtocol instead
    • -wikitudeNativeSDKNeedsExternalUpdateHandler: Use -wikitudeNativeSDKNeedsExternalOpenGLESUpdateHandler defined in WTInternalOpenGLESRenderingProtocol instead
    • -wikitudeNativeSDKNeedsExternalDrawHandler: Use -wikitudeNativeSDKNeedsExternalOpenGLESDrawHandler defined in WTInternalOpenGLESRenderingProtocol instead
  • WTWikitudeNativeSDK
    • deprecated property renderingMode Use WTInternalOpenGLESRenderingMode or WTExternalOpenGLESRenderingMode instead
    • deprecated method -initWithRenderingMode:delegate: Use -initWithRenderingConfiguration:delegate instead
    • deprecated method -createEAGLView Use WTInternalOpenGLESRenderingMode instead
  • Plugins API:
    • Plugin.h
      • deprecated:
        • void update(const std::list<RecognizedTarget>& recognizedTargets_). Use void update(const RecognizedTargetsBucket& recognizedTargetsBucket_) instead. * RecognizedTarget.h
      • deprecated class RecognizedTarget. Use ImageTarget instead.

Migrate from 2.0 to 2.1

Migrate from 1.4 to 2.0

Migrate from 1.3 to 1.4

iOS 10 now requires a camera usage description. Please make sure that you add the NSCameraUsageDescription key to your applications .plist.

Migrate from 1.0 to 1.1