La escena específica de Unity falla en la compilación de iOS – TexturesMetal::AddCreatedTexture
– UnityAssets3Free
buenas , me llamo kein y hoy os traigo
esta nueva pregunta
Solo estoy bloqueando una escena específica en mi compilación de AR Foundation Unity con el siguiente error.
Tipo de excepción: EXC_BAD_ACCESS (SIGSEGV) Subtipo de excepción: KERN_INVALID_ADDRESS en 0x0000000000000020 Información de región de VM: 0x20 no está en ninguna región. Bytes antes de la siguiente región: 4362387424 TIPO DE REGION INICIO – FIN [ VSIZE] PRT/MAX SHRMOD REGIÓN DETALLE ESPACIO NO UTILIZADO AL INICIO
__TEXT 10404c000-104050000 [ 16K] r-x/r-x SM=COW ...lycoroTestApp
Señal de terminación: Fallo de segmentación: 11 Razón de terminación: SEÑAL de espacio de nombres, Código 0xb Proceso de terminación: controlador exc [5380]
Enhebrado por Hilo: 28
Nombre del hilo 28: Hilo 28 Bloqueado: 0 libobjc.A.dylib 0x0000000195ac5ac0 objc_retain + 16 (objc-object.h:636) 1 UnityFramework 0x00000001066d5320 TexturesMetal::AddCreatedTexture(TextureID, id, bool) + 32 (Textures.mm) ) 2 (Textures.mm) UnityFramework 0x0000000106634828 GfxDeviceWorker::RunCommand(ThreadedStreamBuffer&) + 21972 (GfxDeviceWorker.cpp:0) 3 UnityFramework 0x00000001066aa2ec GfxDeviceWorkerAutoreleasePoolProxy + 68 (GfxDeviceMetal.mm:5242) 4 UnityFramework 0x0000000106636bd0 GfxDeviceWorker::RunExt(ThreadedStreamBuffer&) + 92 (GfxDeviceWorker.cpp: 389 ) 5 unityframework 0x0000000106636b68 gfxDeviceWorker :: run () + 156 (gfxDeviceWorker.cpp: 373) 6 unityframework 0x0000000106662ef70 gfxDeviceWorker :: rungfxDeviceSevice (Void*) + 496 (Thread.cpp:81) 8 libsystem_pthread.dylib 0x00000001c9777c74 _pthread_start + 288 (pthread .c :887) 9 libsystem_pthread.dylib 0x00000001c977c878 inicio_hilo + 8
Al principio pensé que era porque me faltaba el gerente de Environmental Probe en esa escena (no). Así que pensé que tal vez era porque estaba usando un sombreador específico que no usaba _MainTex. Pero uso este shader sin ningún problema en otras escenas de trabajo.
Y luego construí la escena con solo una primitiva simple y mi interfaz de usuario y aún recibí este error. Después de este accidente, la escena se abrió con éxito, pero obviamente el problema sigue ahí. La interfaz de usuario es exactamente igual que las otras escenas de trabajo.
No puedo encontrar mucho sobre este error específico: TexturesMetal::AddCreatedTexture, solo que podría haber este error con las texturas GLES3 y PVRTC, pero no están presentes en la última versión.
La escena funciona perfectamente en Android – solo falla en iOS.
¿Alguna idea? Informe completo a continuación.
Ejecuté un Producto>Análisis en Xcode y me dio esta advertencia:
/Users/xcodeclub/Downloads/Eliot Silver/Classes/UI/UnityView.mm:200:5: nil devuelto por un método que debe devolver un valor no nulo
Para este fragmento de código en UnityView.mm:
UnityRenderingView_LayerClassMTL(id self_, SEL _cmd) clase estática
volver NSClassFromString(@»CAMetalLayer»);
UnityRenderingView_LayerClass NULL(id self_, SEL _cmd) clase estática
volver NSClassFromString(@»CALayer»);
@implementación UnityRenderingView
- (Clase)capaClase
retorno nulo;
- (vacío)InicializarParaAPI:(UnityRenderingAPI)api
IMP capaClaseImpl = api == apiMetal ? (IMP)UnityRenderingView_LayerClassMTL: (IMP)UnityRenderingView_LayerClassNULL;
class_replaceMethod(object_getClass([UnityRenderingView class]), @Selector(layerClass), layerClassImpl, UIView_LayerClass_Enc);
@El fin
0
nota: si aun no se resuelve tu pregunta por favor dejar un comentario y pronto lo podremos de nuevo , muchas gracias
eso es todo,espero que te halla servido