2017-02-14 3 views
2

В настоящее время я пытаюсь создать проект (который работал ранее) в Xcode. Это проект Unity, который использует плагин Vuforia, и он безупречно строит Android.Ошибка сборки Unity Vuforia Xcode: «Неопределенные символы для архитектуры arm64»

При создании в Xcode я получаю следующее сообщение об ошибке:

Undefined symbols for architecture arm64: 
    "_UnityRenderBufferMTLTexture", referenced from: 
     PlatformiOS::setRenderBuffers(void*) in libVuforiaUnityPlayer.a(PlatformiOS.o) 
    "_UnityCurrentMTLCommandEncoder", referenced from: 
     PlatformiOS::setRenderBuffers(void*) in libVuforiaUnityPlayer.a(PlatformiOS.o) 
ld: symbol(s) not found for architecture arm64 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 

Я включил Security.framework и SystemConfiguration.framework в проекте.

Unity 5.5.0f3; Vuforia SDK v5.5.9; XCode 8.2.1

ответ

0

Я исправил проблему, обновив Vuforia в проекте Unity, хотя, когда до обновления я не удалял файлы Vuforia в папке «Плагины». Я попытался сделать правильное обновление Vuforia ранее, что не удалось.

Итак шаги: 1 - Удаление активов/Vuforia

2 - Обновление VuforiaCamera.cs (активы/Scripts/Vuforia) в коде ниже

3 - Импорт последний пакет Vuforia

4 - Прибыль!

public class VuforiaCamera : MonoBehaviour 
{ 
    private bool mVuforiaStarted = false; 

    void Start() 
    { 
     VuforiaARController vuforia = VuforiaARController.Instance; 

     if (vuforia != null) 
      vuforia.RegisterVuforiaStartedCallback(StartAfterVuforia); 
    } 

    private void StartAfterVuforia() 
    { 
     mVuforiaStarted = true; 
     SetAutofocus(); 
    } 

    void OnApplicationPause(bool pause) 
    { 
     if (!pause) 
     { 
      // App resumed 
      if (mVuforiaStarted) 
      { 
       // App resumed and vuforia already started 
       // but lets start it again... 
       SetAutofocus(); // This is done because some android devices lose the auto focus after resume 
       // this was a bug in vuforia 4 and 5. I haven't checked 6, but the code is harmless anyway 
      } 
     } 
    } 

    private void SetAutofocus() 
    { 
     if (CameraDevice.Instance.SetFocusMode(CameraDevice.FocusMode.FOCUS_MODE_CONTINUOUSAUTO)) 
     { 
      Debug.Log("Autofocus set"); 
     } 
     else 
     { 
      // never actually seen a device that doesn't support this, but just in case 
      Debug.Log("this device doesn't support auto focus"); 
     } 
    } 
} 
+0

Какая версия Vuforia имеет «VuforiaCamera.cs»? Im использует 6.2.10 и не имеет VuforiaCamera для обновления –

+0

@ DanielArantesLoverde У меня такая же проблема. Я не вижу там никакого скрипта vuforiacamera. Как вы решаете эту проблему. Пожалуйста, помогите – vanshika

+0

@vanshika Извините, человек, я не могу вспомнить, что я сделал. Но я, вероятно, могу изменить версию Unity или переделать проект с нуля ... если я помню, я публикую здесь, но, вероятно, я его переделаю –

Смежные вопросы