ios - for - xcode kits
"Demasiados archivos de símbolos" después de enviar correctamente mis aplicaciones (9)
En Xcode, busque en la Configuración de compilación los "Símbolos de depuración de la tira durante la copia" (COPY_PHASE_STRIP). Cuando está habilitado, los símbolos de depuración se omiten de su .app y se colocan en un archivo .dSYM. De lo contrario, su .app contiene estos símbolos. (De forma predeterminada, los símbolos de depuración se eliminan de las versiones de lanzamiento por motivos de ofuscación. Probablemente no debería cambiar esta configuración para la configuración de la versión).
Asegúrese de marcar esta opción en la configuración de compilación del proyecto
https://possiblemobile.com/2015/03/symbolicating-your-ios-crash-reports/
Descargué Xcode 6 GM y envié dos aplicaciones Swift a la tienda de aplicaciones hoy. Ambos pasaron toda la verificación previa a la carga y todas las demás cosas que tuvieron que pasar y se enviaron con éxito. Pero luego recibí dos correos electrónicos de Apple ... uno para cada programa y ambos dijeron esto:
Estimado desarrollador,
Hemos descubierto uno o más problemas con su entrega reciente de "xxxxxxxx" (mi nombre de aplicación eliminado). Su entrega fue exitosa, pero es posible que desee corregir los siguientes problemas en su próxima entrega:
Demasiados archivos de símbolos: estos símbolos no tienen un corte correspondiente en ningún binario [1431D977-72BC-308F-AB71-71529F25400B.symbols, 158C72A7-98AC-3F07-B2BE-88427591B413.symbols, 44973EAC-563E-340C-B549-55A5014A . -4422-32B8-8C40-CF9B45A2CCC6.symbols, B0CC9F7D-C542-3E18-A518-B28B7ECABE80.symbols, BF6A4C3B-6FA5-3C51-8404-19C2F132458D. -3845-BAD5-F6E51045D396.symbols, D4967AA3-8FB0-3712-B0DE-7F4144AF8F4B.symbols, D813B314-AD37-31D4-B675-442052994495.symbols, DF42A13F-08D8-3E71-B221-FC357E0B60F5.symbols, F5F636C2-F0E0-3CA7 -8F7D-C49A36CD5C65.symbols]
Una vez que haya corregido los problemas, puede usar Xcode o Application Loader para cargar un nuevo binario en iTunes Connect.
Saludos,
El equipo de la App Store
Voy a adivinar que realmente no tiene nada que ver conmigo o con mis aplicaciones ... ¿y es solo una peculiaridad del primer día de envío de aplicaciones Swift? Ambas aplicaciones todavía están en modo "Esperando aprobación". ¡Ciertamente no puedo pensar en nada que pueda cambiar para hacer que lo que dijeron desaparezca! ¿Alguien más envía una aplicación Swift y recibe esa respuesta? ¿Crees que debería ignorarlo y esperar a ver qué pasa?
El problema para mí era una línea en mi archivo
build.xcconfig
.
Tuve que quitar
IPHONEOS_DEPLOYMENT_TARGET = 11.0
que configuraba el proyecto para compilar solo para arm64 (y no arm7).
Siguiendo los pasos de
@miOS
, pude ver que el proyecto de pods se estaba construyendo para ambos.
Esto sucede si incluye información de depuración de sus bibliotecas con el archivo del proyecto pero no incluye binarios.
- Abra la ventana del organizador en Xcode
- Haga clic derecho en un archivo que tenga este problema y seleccione "Mostrar en el Finder".
- Haga clic derecho en el archivo de almacenamiento y seleccione "Mostrar contenido del paquete"
-
En la carpeta "dSYMs" verá varios archivos. Si ejecuta el
dwarfdump
consoladwarfdump
en estos archivos, obtendrá una lista de cadenas UUID:dwarfdump -u MyFile.dSYM
Estoy seguro de que encontrará algunos UUID coincidentes del correo electrónico de Apple.
Para evitar esta advertencia, debe incluir en su archivo solo los archivos
dSYM
de su aplicación y no las bibliotecas.
Para esto, debe cambiar la configuración de compilación de las bibliotecas para no generar un archivo
dSYM
.
Simplemente busque el "formato de información de depuración" en la configuración y cámbielo de
DWARF with dSYM File
a
DWARF
solamente.
Por ejemplo, en la captura de pantalla a continuación, encontrará el marco Stripe iOS.
Para mí todo fue muy simple. Tuve el mismo problema y no supe qué hacer durante una semana.
Después de enviar una solicitud archivada, verá el certificado para su distribución en una pequeña ventana emergente. Hay una casilla de verificación después, que debe desmarcar. Después de eso, lo enviará y recibirá un correo electrónico sobre los archivos de símbolos. PERO no es problema. Es solo una advertencia; no es un error! Si desmarca esa casilla de verificación, su aplicación se enviará correctamente. Espero que te pueda ayudar.
Captura de pantalla de la casilla de verificación y la ventana emergente:
Si encontró este problema al usar CocoaPods, agréguelo a su Podfile:
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings[''DEBUG_INFORMATION_FORMAT''] = ''dwarf''
end
end
end
Establecerá el formato de información de depuración en DWARF solo para todos sus objetivos Pod (solo el objetivo principal de la aplicación)
Si está utilizando CocoaPods y su aplicación está configurada para usar solo arm64 (es decir, solo hay arm64 en la lista de información de su proyecto)
<key>UIRequiredDeviceCapabilities</key>
<array>
<string>arm64</string>
</array>
entonces puede intentar agregar el siguiente script en su Podfile para resolver este problema.
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings[''ENABLE_BITCODE''] = ''NO''
config.build_settings[''ARCHS''] = ''arm64''
end
end
end
Y
establezca todos los objetivos de sus proyectos (no los objetivos en Pods) en arm64 solamente
Tengo este problema debido a que el proyecto tiene una arquitectura válida arm64 donde los objetivos de CocoaPods tienen una arquitectura válida arm64, armv7 y armv7s .
Para verificar qué destino tiene qué arquitectura válida, siga los siguientes pasos
- En Xcode -> Ventana -> Organizador
- Seleccione el archivo y Revelar en Finder
- En el archivo .xcarchive , Mostrar contenido del paquete
-
Abra la terminal y proporcione la ruta de la carpeta dSYMs .
-
Ingrese el comando
dwarfdump --uuid *
y mostrará una lista de UUID con arquitecturas válidas.
El UUID coincidirá con el correo electrónico de advertencia de Apple
El objetivo principal del proyecto y las vainas de cacao suponen tener la misma arquitectura válida. Al hacer esto, resolverá el problema.
Tuve el mismo problema solucionado al tener el mismo "General" => "Información de implementación" => "Objetivo de implementación" para todos mis objetivos.