beeware / beeware/Python-Apple-support

Xcode 16 generates DWARF/dSYM warnings during packaging for App Store

Ouverte
#286 6 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
bug
Langage dominant
Makefile
Étoiles
1.4k
Forks
209
Merge moyen
2 h 58 min
PR mergées (30 j)
7

Description

### Describe the bug

As of Xcode 16, archiving an iOS app for submission to the App Store leads to a large number of warnings during the validation process.

### Steps to reproduce

1. Generate a HelloWorld iOS app with Briefcase
2. Add a developer identity to the project
3. Select Archive from the Product menu
4. Select the recently generated archive from the list in the archive window
5. Click "Validate App", then Validate
6. Wait for the validation report

### Expected behavior

No validation issues should be found.

### Screenshots

_No response_

### Environment

- Operating System: macOS 15.3.2, Xcode 16.3
- Python version: 3.13
- Software versions:
- Briefcase: 0.3.23

### Logs

The validation log will list a single issue with Python.framework, and with each of the binary modules included in the app:
```
Upload Symbols Failed
The archive did not include a dSYM for the Python.framework with the UUIDs [87F39C90-34C0-3669-89EA-B18F5F01DBCC]. Ensure that the archive's dSYM folder includes a DWARF file for Python.framework with the expected UUIDs.

Upload Symbols Failed
The archive did not include a dSYM for the _asyncio.framework with the UUIDs [89363EE2-D685-3DF8-A31B-99A9E597B564]. Ensure that the archive's dSYM folder includes a DWARF file for _asyncio.framework with the expected UUIDs.

Upload Symbols Failed
The archive did not include a dSYM for the _blake2.framework with the UUIDs [9509B0A6-CB26-3D32-AAAB-E6A781581B15]. Ensure that the archive's dSYM folder includes a DWARF file for _blake2.framework with the expected UUIDs.

...
```

### Additional context

These are *warnings* - they do not prevent submission of the app to the App Store. However, it would be desirable to have no warnings during the build process.

A dSYM folder can be generated after compilation using `dsymutil -o .dSYM`; however, it needs to be generated at the same time as compilation to ensure that source file references can be generated.

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Commencez par reproduire les étapes « Archive » et « Validate App » avec Briefcase 0.3.23 sur macOS 15.3.2 et Xcode 16.3, puis inspectez le journal de validation à la recherche de dSYMs manquants pour Python.framework et les modules binaires. Examinez le chemin de packaging et de compilation, y compris la commande dsymutil mentionnée ; le travail est terminé lorsque l’archive est validée sans avertissements « Upload Symbols Failed ».

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
python
Domaine
build-system, mobile-dev
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.