Migration

Migrate from 4.1 to 4.1.1

The Wikitude SDK 4.1.1 adds new properties and methods to it's public API.

Migrate from 4.0.2 to 4.1

There are several API changes in the Wikitude SDK 4.1 that improve the usage. Please note that the next major release will remove all deprecated APIs.

This version requires the iOS SDK framework SystemConfiguration.framework to determine the network connectivity for cloud recognition.

Besides the API changes version 4.1 of the Wikitude SDK also offers a new file format for client based 2d tracking. The new .wtc file is not compatible with older versions of the Wikitude SDK but version 4.1 can read older file formats. Please consider migrate your existing .wtc anyway because it delivers more accurate and faster target recognitions. See more details here

This version of the SDK also comes with a Quick Look Plugin for Mac OS X that allows introspection of any .wtc file. It displays all target images in a .wtc file and also shows the version number and the compatible SDK's. The Quick Look Plugin is bundled with the Wikitude 3D Encoder application that is part of the SDK download package.

Migrate from 4.0 to 4.0.2

The Wikitude SDK for iOS 4.0.2 introduces several API improvements when it comes to loading augmented reality experiences and error reporting.

iOS 8 changed the GPS location access management. All applications that want to use the user location now need to enter either the NSLocationWhenInUseUsageDescription or NSLocationAlwaysUsageDescription key. The Wikitude SDK only uses the users location when the application is active, so the NSLocationWhenInUseUsageDescription key must be set in the applications Info.plist. Note that this key is only required if the specified augmented reality mode is WTAugmentedRealityMode_GeoAndImageRecognition or WTAugmentedRealityMode_Geo. The mode WTAugmentedRealityMode_ImageRecognition does not start any GPS related APIs. The following snippet shows the source code representation for the required key/value pair. Please refer to the iOS example application on how the changes look in a real application.

    <key>NSLocationWhenInUseUsageDescription</key>    
    <string>Accessing GPS information is needed to display POIs around your current location</string>

Please note that there will be some more API changes in upcoming releases and methods that were deprecated in a Wikitude SDK 3.x version will be removed in the next release.

Migrate from 3.3 to 4.0

Migrate from 3.2 to 3.3

WTArchitectView
WTArchitectViewDelegate

Added a new delegate method -architectView:didFinishLoad: which is called when the ARchitect World finished loading.

Migrate from 3.1 to 3.2

SDK 3.2 adds methods to the delegate protocol and updates existing methods to match a more common CocoaTouch style. Have a look at the WTArchitectView.h file for more information.

If you have been previously using -urlWasInvoked: you now need to use -architectView:invokedURL:.

Migrate from 3.0 to 3.1

The image recognition engine of Wikitude SDK 3.1 has been updated resulting in shorter time interval to successfully recognize a target image. As a consequence the format of the digital footprint of target image changed. The format is backward compatible. Developers still can use target collections (.wtc) generated with Wikitude SDK 3.0 (prior to 27th August 2013) together with the SDK 3.1 and vice versa.

However we recommend to generated your target collections again in the Target Manager Tool and update the files when you are using Wikitude SDK 3.1

HTML Drawables

Developers using HTML Drawables in projects prior to Wikitude SDK 3.1 and like to upgrade to 3.1 need to define the viewportHeight similar to the already defined viewportWidth. In addition HTML Drawables do not have to be created as static or dynamic anymore. All are created as dynamic ones.

Migrate from 2.0 to 3.0

Wikitude SDK version 3.0 introduces Wikitude's own image recognition and tracking solution and removes support for the Vuforia Plugin.

Migrate from 1.2 to 2.0

The Wikitude SDK 2.0 for iOS is a major update and requires some migration work to be done. The iOS SDK now ships as a .framework instead of a static library. This change requires some project setup changes. Furthermore the iOS SDK 2.0 allows the developer to select which Augmented Reality mode is used in within the ARchitect World. This way, developer can also run Image Recognition World on devices who are not able to run Geo Worlds (iPodTouch 4th and 5th generation).

Framework

  1. Remove the libWikitudeSDK.a (either by deleting the linker flag and library search path or removing all references from your project hierarchy.) and the WTArchitectView.h header file (either by deleting the header search path or by removing the reference from you project hierarchy) from your project.
  2. Add the WikitudeSDK.framework to your project (You can do this by either drag the framework into your projects Framework folder or by adding it to your link binary with libraries build phase make sure to copy the framework in either cases to your project first).
  3. Replace the import directive #import "WTArchitectView.h" with #import <WikitudeSDK/WTArchitectView.h>
  4. Replace the linker flag -lstdc++ with -lc++ or add libc++ instead of libstdc++ in your Link Binary With Libraries build phase in Xcode.

You should now be ready to compile, link and run you application again, using the Wikitude iOS SDK 2.0. (Don't forget to check for the -ObjC linker flag and all the required iOS public Frameworks listed in the Wikitude SDK documentation).

Upgrading targets for SDK 4.1

The Wikitude SDK 4.1 introduces an updated format for the target collection. The new format improves the recognition phase considerably. The updated format is not backward compatible with Wikitude SDK 3.x, 4.0 and can not be used in projects using Wikitude SDK 3.x or Wikitude SDK 4.0.

However you can use wtc-3.x and wtc-4.0 formats with the Wikitude SDK 4.1, although we strongly recommend to updated to the newest (wtc-4.1) version.

Support for wtc-3.x and wtc-4.0 is deprecated and will be not supported in Wikitude SDK 5.0 (later 2015).

To use the new format you need to re-create your target collection in the target manager and download the .wtc file under the Download 4.1 link. Put this .wtc file in your app and replace the previous one.

It is not possible to use a wtc 4.1 file together with Wikitude SDK 3.x or Wikitude SDK 4.0. Please download the respective wtc versions from the target manager and use them.


Wikitude SDK 3.x Wikitude SDK 4.0 Wikitude SDK 4.1
wtc 3.x supported supported supported
wtc 4.0 not supported supported supported
wtc 4.1 not supported not supported supported

Migrating targets from SDK 1.x

If you have been using a dataset from the Qualcomm Vuforia target management, please follow these steps to convert your ARchitect World to the new approach:

  1. Create a new project with the Wikitude target management tool and upload your targets (see instructions above)
  2. Create a target collection and store it in the same location as the previously used dataset
  3. In your ARchitect World, update the AR.ClientTracker initialization to point to the URL of your new target collection