By vtlvtl
on Tue, 08/14/2018 - 01:42
Hi Team,
We build a app with ar and QR code scanner feature, we found a issue that ar will not working after open scanner then close it,
and open ar, the ar screen become black that cannot open camera.
The Log:
2018-08-10 18:37:52.412319+0800 App[4389:998635] INFO/AR(4389) 2018-08-11 18:37:52: Vuforia Fusion: Detected and enabled use of ARKit 2018-08-10 18:37:52.416972+0800 App[4389:998635] DEBUG/AR(4389) Could not find a UIView with CAEAGLLayer or CAMetalLayer layer class that responds to selector renderFrameVuforia 2018-08-10 18:37:52.417263+0800 App[4389:998635] DEBUG/AR(4389) UIView has CAEAGLLayer layer class 2018-08-10 18:37:52.417403+0800 App[4389:998635] DEBUG/AR(4389) UIView does not respond to selector renderFrameVuforia 2018-08-10 18:37:52.417573+0800 App[4389:998635] DEBUG/AR(4389) UIView has CAEAGLLayer layer class 2018-08-10 18:37:52.417742+0800 App[4389:998635] DEBUG/AR(4389) UIView does not respond to selector renderFrameVuforia 2018-08-10 18:37:52.417838+0800 App[4389:998635] DEBUG/AR(4389) Could not find a UIView with CAEAGLLayer or CAMetalLayer layer class that responds to selector renderFrameVuforia 2018-08-10 18:37:52.417864+0800 App[4389:998635] DEBUG/AR(4389) Could not find a UIView with CAEAGLLayer or CAMetalLayer layer class that responds to selector renderFrameVuforia StartVuforia UnityEngine.DebugLogHandler:Internal_Log(LogType, String, Object) UnityEngine.DebugLogHandler:LogFormat(LogType, Object, String, Object[]) UnityEngine.Logger:Log(LogType, Object) UnityEngine.Debug:Log(Object) Vuforia.VuforiaARController:StartVuforia(Boolean) Vuforia.VuforiaARController:OnApplicationPause(Boolean) System.Reflection.MonoMethod:InternalInvoke(Object, Object[], Exception&) System.Reflection.MonoMethod:Invoke(Object, BindingFlags, Binder, Object[], CultureInfo) System.Reflection.MethodBase:Invoke(Object, Object[]) System.Delegate:DynamicInvokeImpl(Object[]) System.MulticastDelegate:DynamicInvokeImpl(Object[]) System.Delegate:DynamicInvoke(Object[]) Vuforia.DelegateHelper:InvokeDelegate(Delegate, Object[]) Vuforia.DelegateHelper:InvokeWithExceptionHandling(Action`1, T) Vuforia.VuforiaBehaviour:OnApplicationPause(Boolean) (Filename: /Users/builduser/buildslave/unity/build/Runtime/Export/Debug.bindings.h Line: 43) cameraDeviceStartCamera 2018-08-10 18:37:52.429336+0800 App[4389:998635] INFO/AR(4389) 2018-08-11 18:37:52: Starting camera with profile for iPhone9,2, 720.1 2018-08-10 18:37:52.429914+0800 App[4389:998720] [Sensor] ARImageSensor (0x1c02c1c00): Unsupported pixel format: 875704438 2018-08-10 18:37:52.431726+0800 App[4389:998720] [Session] Session (0x12d321a90): did fail with error: Error Domain=com.apple.arkit.error Code=104 "Unsupported capture session configuration." UserInfo={NSLocalizedRecoverySuggestion=Make sure that the correct device and format are being used for capture., NSLocalizedDescription=Unsupported capture session configuration., NSLocalizedFailureReason=Input device and/or format of the provided capture session are not supported for the given configuration.} Starting Device Tracker UnityEngine.DebugLogHandler:Internal_Log(LogType, String, Object) UnityEngine.DebugLogHandler:LogFormat(LogType, Object, String, Object[]) UnityEngine.Logger:Log(LogType, Object) UnityEngine.Debug:Log(Object) Vuforia.DeviceTrackerARController:StartDeviceTracker() Vuforia.DeviceTrackerARController:OnPause(Boolean) System.Reflection.MonoMethod:InternalInvoke(Object, Object[], Exception&) System.Reflection.MonoMethod:Invoke(Object, BindingFlags, Binder, Object[], CultureInfo) System.Reflection.MethodBase:Invoke(Object, Object[]) System.Delegate:DynamicInvokeImpl(Object[]) System.MulticastDelegate:DynamicInvokeImpl(Object[]) System.Delegate:DynamicInvoke(Object[]) Vuforia.DelegateHelper:InvokeDelegate(Delegate, Object[]) Vuforia.DelegateHelper:InvokeWithExceptionHandling(Action`1, T) Vuforia.VuforiaARController:OnApplicationPause(Boolean) System.Reflection.MonoMethod:InternalInvoke(Object, Object[], Exception&) System.Reflection.MonoMethod:Invoke(Object, BindingFlags, Binder, Object[], CultureInfo) System.Reflection.MethodBase:Invoke(Object, Object[]) System.Delegate:DynamicInvokeImpl(Object[]) System.MulticastDelegate:DynamicInvokeImpl(Object[]) System.Delegate:DynamicInvoke(Object[]) Vuforia.DelegateHelper:InvokeDelegate(Delegate, Object[]) Vuforia.DelegateHelper:InvokeWithExceptionHandling(Action`1, T) Vuforia.VuforiaBehaviour:OnApplicationPause(Boolean) (Filename: /Users/builduser/buildslave/unity/build/Runtime/Export/Debug.bindings.h Line: 43) Starting Positional Device Tracker. UnityEngine.DebugLogHandler:Internal_Log(LogType, String, Object) UnityEngine.DebugLogHandler:LogFormat(LogType, Object, String, Object[]) UnityEngine.Logger:Log(LogType, Object) UnityEngine.Debug:Log(Object) Vuforia.PositionalDeviceTrackerImpl:Start() Vuforia.DeviceTrackerARController:StartDeviceTracker() Vuforia.DeviceTrackerARController:OnPause(Boolean) System.Reflection.MonoMethod:InternalInvoke(Object, Object[], Exception&) System.Reflection.MonoMethod:Invoke(Object, BindingFlags, Binder, Object[], CultureInfo) System.Reflection.MethodBase:Invoke(Object, Object[]) System.Delegate:DynamicInvokeImpl(Object[]) System.MulticastDelegate:DynamicInvokeImpl(Object[]) System.Delegate:DynamicInvoke(Object[]) Vuforia.DelegateHelper:InvokeDelegate(Delegate, Object[]) Vuforia.DelegateHelper:InvokeWithExceptionHandling(Action`1, T) Vuforia.VuforiaARController:OnApplicationPause(Boolean) System.Reflection.MonoMethod:InternalInvoke(Object, Object[], Exception&) System.Reflection.MonoMethod:Invoke(Object, BindingFlags, Binder, Object[], CultureInfo) System.Reflection.MethodBase:Invoke(Object, Object[]) System.Delegate:DynamicInvokeImpl(Object[]) System.MulticastDelegate:DynamicInvokeImpl(Object[]) System.Delegate:DynamicInvoke(Object[]) Vuforia.DelegateHelper:InvokeDelegate(Delegate, Object[]) Vuforia.DelegateHelper:InvokeWithExceptionHandling(Action`1, T) Vuforia.VuforiaBehaviour:OnApplicationPause(Boolean) (Filename: /Users/builduser/buildslave/unity/build/Runtime/Export/Debug.bindings.h Line: 43) Stopping Device Tracker UnityEngine.DebugLogHandler:Internal_Log(LogType, String, Object) UnityEngine.DebugLogHandler:LogFormat(LogType, Object, String, Object[]) UnityEngine.Logger:Log(LogType, Object) UnityEngine.Debug:Log(Object) Vuforia.DeviceTrackerARController:StopDeviceTracker() Vuforia.DeviceTrackerARController:OnDisable() System.Reflection.MonoMethod:InternalInvoke(Object, Object[], Exception&) System.Reflection.MonoMethod:Invoke(Object, BindingFlags, Binder, Object[], CultureInfo) System.Reflection.MethodBase:Invoke(Object, Object[]) System.Delegate:DynamicInvokeImpl(Object[]) System.MulticastDelegate:DynamicInvokeImpl(Object[]) System.Delegate:DynamicInvoke(Object[]) Vuforia.DelegateHelper:InvokeDelegate(Delegate, Object[]) Vuforia.DelegateHelper:InvokeWithExceptionHandling(Action) Vuforia.VuforiaBehaviour:OnDisable() UnityEngine.GameObject:SetActive(Boolean) VuforiaFunctionHelper:DisableArCamera() MobileScript:disableVuforia() (Filename: /Users/builduser/buildslave/unity/build/Runtime/Export/Debug.bindings.h Line: 43) Stopping Positional Device Tracker. UnityEngine.DebugLogHandler:Internal_Log(LogType, String, Object) UnityEngine.DebugLogHandler:LogFormat(LogType, Object, String, Object[]) UnityEngine.Logger:Log(LogType, Object) UnityEngine.Debug:Log(Object) Vuforia.PositionalDeviceTrackerImpl:Stop() Vuforia.DeviceTrackerARController:StopDeviceTracker() Vuforia.DeviceTrackerARController:OnDisable() System.Reflection.MonoMethod:InternalInvoke(Object, Object[], Exception&) System.Reflection.MonoMethod:Invoke(Object, BindingFlags, Binder, Object[], CultureInfo) System.Reflection.MethodBase:Invoke(Object, Object[]) System.Delegate:DynamicInvokeImpl(Object[]) System.MulticastDelegate:DynamicInvokeImpl(Object[]) System.Delegate:DynamicInvoke(Object[]) Vuforia.DelegateHelper:InvokeDelegate(Delegate, Object[]) Vuforia.DelegateHelper:InvokeWithExceptionHandling(Action) Vuforia.VuforiaBehaviour:OnDisable() UnityEngine.GameObject:SetActive(Boolean) VuforiaFunctionHelper:DisableArCamera() MobileScript:disableVuforia() (Filename: /Users/builduser/buildslave/unity/build/Runtime/Export/Debug.bindings.h Line: 43) StopVuforia UnityEngine.DebugLogHandler:Internal_Log(LogType, String, Object) UnityEngine.DebugLogHandler:LogFormat(LogType, Object, String, Object[]) UnityEngine.Logger:Log(LogType, Object) UnityEngine.Debug:Log(Object) Vuforia.VuforiaARController:StopVuforia() Vuforia.VuforiaARController:OnDisable() System.Reflection.MonoMethod:InternalInvoke(Object, Object[], Exception&) System.Reflection.MonoMethod:Invoke(Object, BindingFlags, Binder, Object[], CultureInfo) System.Reflection.MethodBase:Invoke(Object, Object[]) System.Delegate:DynamicInvokeImpl(Object[]) System.MulticastDelegate:DynamicInvokeImpl(Object[]) System.Delegate:DynamicInvoke(Object[]) Vuforia.DelegateHelper:InvokeDelegate(Delegate, Object[]) Vuforia.DelegateHelper:InvokeWithExceptionHandling(Action) Vuforia.VuforiaBehaviour:OnDisable() UnityEngine.GameObject:SetActive(Boolean) VuforiaFunctionHelper:DisableArCamera() MobileScript:disableVuforia() (Filename: /Users/builduser/buildslave/unity/build/Runtime/Export/Debug.bindings.h Line: 43) Starting Device Tracker UnityEngine.DebugLogHandler:Internal_Log(LogType, String, Object) UnityEngine.DebugLogHandler:LogFormat(LogType, Object, String, Object[]) UnityEngine.Logger:Log(LogType, Object) UnityEngine.Debug:Log(Object) Vuforia.DeviceTrackerARController:StartDeviceTracker() Vuforia.DeviceTrackerARController:OnEnable() System.Reflection.MonoMethod:InternalInvoke(Object, Object[], Exception&) System.Reflection.MonoMethod:Invoke(Object, BindingFlags, Binder, Object[], CultureInfo) System.Reflection.MethodBase:Invoke(Object, Object[]) System.Delegate:DynamicInvokeImpl(Object[]) System.MulticastDelegate:DynamicInvokeImpl(Object[]) System.Delegate:DynamicInvoke(Object[]) Vuforia.DelegateHelper:InvokeDelegate(Delegate, Object[]) Vuforia.DelegateHelper:InvokeWithExceptionHandling(Action) Vuforia.VuforiaBehaviour:OnEnable() UnityEngine.GameObject:SetActive(Boolean) VuforiaFunctionHelper:EnableArCamera() MobileScript:enableVuforia() (Filename: /Users/builduser/buildslave/unity/build/Runtime/Export/Debug.bindings.h Line: 43) Starting Positional Device Tracker. UnityEngine.DebugLogHandler:Internal_Log(LogType, String, Object) UnityEngine.DebugLogHandler:LogFormat(LogType, Object, String, Object[]) UnityEngine.Logger:Log(LogType, Object) UnityEngine.Debug:Log(Object) Vuforia.PositionalDeviceTrackerImpl:Start() Vuforia.DeviceTrackerARController:StartDeviceTracker() Vuforia.DeviceTrackerARController:OnEnable() System.Reflection.MonoMethod:InternalInvoke(Object, Object[], Exception&) System.Reflection.MonoMethod:Invoke(Object, BindingFlags, Binder, Object[], CultureInfo) System.Reflection.MethodBase:Invoke(Object, Object[]) System.Delegate:DynamicInvokeImpl(Object[]) System.MulticastDelegate:DynamicInvokeImpl(Object[]) System.Delegate:DynamicInvoke(Object[]) Vuforia.DelegateHelper:InvokeDelegate(Delegate, Object[]) Vuforia.DelegateHelper:InvokeWithExceptionHandling(Action) Vuforia.VuforiaBehaviour:OnEnable() UnityEngine.GameObject:SetActive(Boolean) VuforiaFunctionHelper:EnableArCamera() MobileScript:enableVuforia() (Filename: /Users/builduser/buildslave/unity/build/Runtime/Export/Debug.bindings.h Line: 43) StartVuforia UnityEngine.DebugLogHandler:Internal_Log(LogType, String, Object) UnityEngine.DebugLogHandler:LogFormat(LogType, Object, String, Object[]) UnityEngine.Logger:Log(LogType, Object) UnityEngine.Debug:Log(Object) Vuforia.VuforiaARController:StartVuforia(Boolean) Vuforia.VuforiaARController:OnEnable() System.Reflection.MonoMethod:InternalInvoke(Object, Object[], Exception&) System.Reflection.MonoMethod:Invoke(Object, BindingFlags, Binder, Object[], CultureInfo) System.Reflection.MethodBase:Invoke(Object, Object[]) System.Delegate:DynamicInvokeImpl(Object[]) System.MulticastDelegate:DynamicInvokeImpl(Object[]) System.Delegate:DynamicInvoke(Object[]) Vuforia.DelegateHelper:InvokeDelegate(Delegate, Object[]) Vuforia.DelegateHelper:InvokeWithExceptionHandling(Action) Vuforia.VuforiaBehaviour:OnEnable() UnityEngine.GameObject:SetActive(Boolean) VuforiaFunctionHelper:EnableArCamera() MobileScript:enableVuforia() (Filename: /Users/builduser/buildslave/unity/build/Runtime/Export/Debug.bindings.h Line: 43) cameraDeviceStartCamera 2018-08-10 18:37:52.472145+0800 App[4389:998635] INFO/AR(4389) 2018-08-11 18:37:52: Starting camera with profile for iPhone9,2, 720.1 2018-08-10 18:37:53.238215+0800 App[4389:998710] [Sensor] ARImageSensor (0x1c02c1c00): Unsupported pixel format: 875704438 2018-08-10 18:37:53.238407+0800 App[4389:998710] [Session] Session (0x12d321a90): did fail with error: Error Domain=com.apple.arkit.error Code=104 "Unsupported capture session configuration." UserInfo={NSLocalizedRecoverySuggestion=Make sure that the correct device and format are being used for capture., NSLocalizedDescription=Unsupported capture session configuration., NSLocalizedFailureReason=Input device and/or format of the provided capture session are not supported for the given configuration.} cameraDeviceStartCamera 2018-08-10 18:37:53.670100+0800 App[4389:998635] INFO/AR(4389) 2018-08-11 18:37:53: Starting camera with profile for iPhone9,2, 720.1 2018-08-10 18:37:54.842497+0800 App[4389:998720] [Sensor] ARImageSensor (0x1c02c1c00): Unsupported pixel format: 875704438 2018-08-10 18:37:54.842706+0800 App[4389:998720] [Session] Session (0x12d321a90): did fail with error: Error Domain=com.apple.arkit.error Code=104 "Unsupported capture session configuration." UserInfo={NSLocalizedRecoverySuggestion=Make sure that the correct device and format are being used for capture., NSLocalizedDescription=Unsupported capture session configuration., NSLocalizedFailureReason=Input device and/or format of the provided capture session are not supported for the given configuration.} cameraDeviceStartCamera 2018-08-10 18:37:54.936986+0800 App[4389:998635] INFO/AR(4389) 2018-08-11 18:37:54: Starting camera with profile for iPhone9,2, 720.1 cameraDeviceStartCamera 2018-08-10 18:37:56.204702+0800 App[4389:998635] INFO/AR(4389) 2018-08-11 18:37:56: Starting camera with profile for iPhone9,2, 720.1 2018-08-10 18:37:57.248864+0800 App[4389:998710] [Sensor] ARImageSensor (0x1c02c1c00): Unsupported pixel format: 875704438 2018-08-10 18:37:57.249162+0800 App[4389:998710] [Session] Session (0x12d321a90): did fail with error: Error Domain=com.apple.arkit.error Code=104 "Unsupported capture session configuration." UserInfo={NSLocalizedRecoverySuggestion=Make sure that the correct device and format are being used for capture., NSLocalizedDescription=Unsupported capture session configuration., NSLocalizedFailureReason=Input device and/or format of the provided capture session are not supported for the given configuration.} cameraDeviceStartCamera 2018-08-10 18:37:57.471290+0800 App[4389:998635] INFO/AR(4389) 2018-08-11 18:37:57: Starting camera with profile for iPhone9,2, 720.1 cameraDeviceStartCamera
If I have to guess, I'd
If I have to guess, I'd suspect that your your QR scanner code is not releasing the camera fully. Have you done a thorough search for the errors in the log? I've found plenty of hits for it.
Hello,
Hello,
Agree with @dpizzle. This is because another process has the camera thread.
Thanks,
Vuforia Engine Support
Hi Team,
Hi Team,
The logs of operation:
1.QR (ok)-> AR (ok) -> QR (ok) ->AR (fail, black screen),kill app,AR(ok)
2.AR (ok) ->QR(ok) -> AR(fail) ->QR(ok), kill app, AR(ok)
We found AR cannot be released when close it then click QR manually.
Hello,
Hello,
I can think of two ways:
Hi Team, Fixed, thanks.
Hi Team,
Fixed, thanks.
Hi,
Hi,
how did you solve that issue?
Could you share the solution?
Thanks!