sale - ios versiones
Dónde obtener los símbolos del sistema iOS para otras versiones de iOS (3)
Debería poder establecer un enlace simbólico con el SDK 6.1. Que tiene a 6.1.4, similar a mi respuesta aquí ( https://stackoverflow.com/a/19383685/473067 ). En este caso, por supuesto, el enlace simbólico debe estar en Xcode5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs
.
De forma rutinaria, simbolizamos fallos usando versiones de SDK que están lo suficientemente cerca, pero usamos nuestro propio script de simbolización en lugar del Xcode, y los símbolos no siempre coinciden, por lo tanto, YMMV.
Tenga en cuenta que: estoy solicitando un lugar donde pueda descargar los símbolos o una respuesta concluyente de que tal sitio está prohibido por Apple. La pregunta "duplicada" es similar a la que vinculé en mi pregunta: la única respuesta sugerida es obtener acceso a un dispositivo físico o encontrar otro desarrollador que tenga uno.
He simbolizado un crashdump, pero solo se simbolizan las líneas en el código de mi aplicación; código del sistema no lo hace. Se ve algo como esto:
Thread 0 Crashed:
0 libobjc.A.dylib 0x39c195d0 0x39c16000 + 13776
1 QuartzCore 0x33aefcad 0x33ade000 + 72877
2 QuartzCore 0x33af3105 0x33ade000 + 86277
<snip>
13 UIKit 0x33d862b9 0x33d2f000 + 357049
14 MyApp 0x0005ef87 main (main.m:14)
...
Thread 7:
0 libsystem_kernel.dylib 0x3a101e30 0x3a101000 + 3632
1 CoreFoundation 0x31ef82bb 0x31e61000 + 619195
2 CoreFoundation 0x31ef7031 0x31e61000 + 614449
3 CoreFoundation 0x31e6a23d 0x31e61000 + 37437
4 CoreFoundation 0x31ec8c4b 0x31e61000 + 425035
5 MyApp 0x0016f293 +[UA_ASIHTTPRequest runRequests] (UA_ASIHTTPRequest.m:4795)
6 Foundation 0x3283b231 0x3278a000 + 725553
7 libsystem_c.dylib 0x3a06b0e1 0x3a05a000 + 69857
A partir de this pregunta, me doy cuenta de que esto se debe a que el bloqueo se produjo desde un dispositivo iOS 6.1.4 y no tengo símbolos para iOS 6.1.4 en mi carpeta ~ / Library / Developer / Xcode / iOS DeviceSupport.
Desafortunadamente, iOS 6.1.4 es una versión exclusiva para iPhone 5, y no tengo acceso físico a un iPhone 5, que puedo actualizar a 6.1.4, por lo que no puedo quitar los símbolos del dispositivo. ¿Hay algún lugar donde pueda descargar los símbolos para diferentes versiones de iOS (sin los dispositivos que ejecutan esas versiones), o se consideran confidenciales de Apple?
He recopilado la mayoría de los símbolos del sistema de dispositivos reales (del mercado de segunda mano de moblie), firewares de iOS y iOS SDK de Xcode.
Puedes descargar la versión que necesitas aquí:
Archivo de símbolos del sistema iOS (7.0-9.2)
Archivo de símbolos del sistema iOS (9.2.1-10.2)
Lea iOS-System-Symbols para obtener más detalles. Si obtengo un nuevo archivo de símbolos, lo agregaré a la carpeta para compartir de Google Drive. Puede seguir la última actualización del repositorio de github anterior.
Cómo utilizar
- Cuando necesite simbolizar un informe de bloqueo, verifique la sección
Code Type
yOS Version
. Como:
Code Type: ARM-64
OS Version: iOS 10.2 (14C82)
Eso significa que necesita los símbolos de la versión arm64
del sistema 10.2 (14C82)
.
Encuentre el paquete en mi carpeta compartida y
~/Library/Developer/Xcode/iOS DeviceSupport
a~/Library/Developer/Xcode/iOS DeviceSupport
. (Verifique el nombre y la ruta del archivo, debe ser~/Library/Developer/Xcode/iOS DeviceSupport/10.2 (14C82)/Symbols
).Use la herramienta
symbolicatecrash
de Xcode para simbolizar su informe de fallos. Esta herramienta buscará los símbolos del sistema en la ruta deiOS DeviceSupport
automáticamente.
Lista de simbolos
Hay 50 versiones desde 7.0 (11A465)
a 10.2 (14C92)
. (Si 10.2 (14C92)
versión de SO con arquitectura de CPU, es 85. Tengo 76 de ellas).
Aquí está la lista de símbolos de 7.0
a 10.2
, con su versión de arquitectura de CPU que tengo.
| OS Version | collected CPU version |
|-------------------|---------------------- |
| 10.2 (14C92) | arm64,armv7s |
| 10.1.1 (14B150) | arm64,armv7s |
| 10.1.1 (14B100) | arm64,armv7s |
| 10.1 (14B72c) | arm64,armv7s |
| 10.1 (14B72) | arm64,armv7s |
| 10.0.3 (14A551) | arm64,armv7s |
| 10.0.2 (14A456) | arm64,armv7s |
| 10.0.1 (14A403) | arm64,armv7s |
| 10.0(14A346) | none |
| 9.3.5 (13G36) | arm64,armv7s,armv7 |
| 9.3.4 (13G35) | arm64,armv7s,armv7 |
| 9.3.3 (13G34) | arm64,armv7s,armv7 |
| 9.3.2(13F72) | none |
| 9.3.2 (13F69) | arm64,armv7s,armv7 |
| 9.3.1 (13E238) | arm64,armv7s,armv7 |
| 9.3(13E237) | armv7s,armv7 |
| 9.3(13E236) | armv7 |
| 9.3(13E234) | none |
| 9.3 (13E233) | arm64,armv7s,armv7 |
| 9.2.1 (13D20) | arm64,armv7s |
| 9.2.1 (13D15) | arm64,armv7s,armv7 |
| 9.2 (13C75) | arm64,armv7s,armv7 |
| 9.1 (13B143) | arm64,armv7s,armv7 |
| 9.0.2(13A452) | arm64,armv7s,armv7 |
| 9.0.1(13A404) | arm64,armv7s,armv7 |
| 9.0 (13A344) | arm64,armv7s,armv7 |
| 8.4.1 (12H321) | arm64,armv7s,armv7 |
| 8.4 (12H143) | arm64,armv7s,armv7 |
| 8.3 (12F70) | arm64,armv7s,armv7 |
| 8.3 (12F69) | arm64,armv7s,armv7 |
| 8.2 (12D508) | arm64,armv7s,armv7 |
| 8.1.3 (12B466) | arm64,armv7s,armv7 |
| 8.1.2 (12B440) | arm64,armv7s,armv7 |
| 8.1.1 (12B436) | arm64,armv7s |
| 8.1.1 (12B435) | armv7s,armv7 |
| 8.1 (12B411) | arm64,armv7s,armv7 |
| 8.1 (12B410) | arm64,armv7s,armv7 |
| 8.0.2 (12A405) | arm64,armv7s,armv7 |
| 8.0.1(12A402) | armv7s,armv7 |
| 8.0 (12A366) | arm64,armv7s |
| 8.0 (12A365) | arm64,armv7s,armv7 |
| 7.1.2 (11D257) | armv7s,armv7 |
| 7.1.1 (11D201) | arm64,armv7s,armv7 |
| 7.1 (11D167) | arm64,armv7s,armv7 |
| 7.0.6 (11B651) | arm64,armv7s,armv7 |
| 7.0.4 (11B554a) | arm64,armv7s,armv7 |
| 7.0.3 (11B511) | arm64,armv7s,armv7 |
| 7.0.2(11A501) | armv7s,armv7 |
| 7.0.1(11A470a) | armv7s |
| 7.0(11A465) | arm64,armv7s,armv7 |
Símbolos que faltan
Todavía extraño estos símbolos de la CPU, si tiene alguno de ellos, por favor comparta :
| missed OS Version | missed CPU Version | description
|-------------------|-----------------------|-----------------
| 10.0(14A346) | arm64 | iPhone 7 and 7 Plus-only, default OS when leave factory
| 9.3.2(13F72) | arm64 | iPad Pro 9.7-inch-only, fix bricked problem
| 9.3(13E237) | arm64 | 5s, iPad Air and iPad mini2 only, fix activation problem
| 9.3(13E234) | arm64 | 6s, 6s Plus and iPad Pro 9.7-inch only
| 8.1.1 (12B435) | arm64 | 5s, iPad Air and iPad mini2 only
| 8.0.1(12A402) | arm64 | `8.0.1`was pulled soon after released.Because it has serious bugs
| 7.1.2 (11D257) | arm64 |
| 7.0.2(11A501) | arm64 |
| 7.0.1(11A470a) | arm64 | 5s only
Cómo comprobar qué versión de CPU contiene el archivo de símbolos
Si ya tiene un archivo de símbolos del sistema y desea saber qué versión de CPU contiene, verifique los archivos en la ruta como 10.2 (14C92)/Symbols/System/Library/Caches/com.apple.dyld
. Debe haber un archivo llamado dyld_shared_cache_arm64
, dyld_shared_cache_armv7s
, dyld_shared_cache_armv7
.
Si pierde uno, eso significa que no tiene los símbolos de la versión de la CPU.
Sólo conozco la manera más difícil: descargue el archivo ipsw y extraiga los símbolos con herramientas de piratas informáticos. Tal vez alguien puede encontrar la manera más fácil?
upd: He encontrado solución más simple .
Intenté simbolizar los símbolos de iOS 7.0.1, pero sin éxito (el mismo motivo que tiene con iOS 6.1.4)
Los siguientes pasos me ayudan:
-
.crash
archivo.crash
y cambio iOS 7.0.1 a iOS 7.0 -
~/Library/Developer/Xcode/iOS DeviceSupport
copias de seguridad y elimine todo desde~/Library/Developer/Xcode/iOS DeviceSupport
- ejecuta symbolicatecrash desde Xcode5 (que contiene los símbolos de iOS 7)
Ignorando algunos, estos pasos me dan resultados infructuosos.
Espero que te ayude.