unity3d - Vuforia DataSet exists but fails to load on iOS devices


Keywords:ios 


Question: 

I made an AR app using the Vuforia SDK in Unity. Everything works fine when deployed to Android. when I deploy to iOS devices, like the iPhone 5s, the DataSet with my marker exists, but fails to load and activate.

dataSetExists
Dataset _______ could not be loaded and cannot be activated.

I've been searching the Vuforia forums (i.e. this: ), but nothing helped. I have a proper path, I built the project on a Mac, I don't miss the PostProcessBuildPlayer script in my project.

I did have problems building the app in XCode tho. I used the advice found here (), in Redons last reply, to solve the problem - I manually re-added needed libraries to the XCode project and added Security.framework in "Build Phases -> Link Binary With Libraries". Is this relevant?

I'm working on Unity 5.2.1 and XCode 6.3

How do I fix this issue?


1 Answer: 

What worked for me was that I manually added the following compiler directive to the ARCamera's LoadDatabaseBehaviour script under the AddOSSpecificExternalDatasetSearchDirs function:

#if UNITY_IOS

    AddExternalDatasetSearchDir(Application.dataPath + "/Raw/QCAR/");

#endif

This is an iOS specific fix that explicitly points to the Streaming Assets folder in the iOS build itself.

My versions & info:

  • Unity version: 5.3.0f4
  • Vuforia version: 5.0.6
  • OSX version: 10.11.2 (El Capitan)
  • Xcode version: 7.2 (7C68)
  • iOS device: iPad mini 3
  • iOS version: 9.1