beeware / beeware/Python-Apple-support
Xcode 16 generates DWARF/dSYM warnings during packaging for App Store
- 主要语言
- Makefile
- 星标
- 1.4k
- 派生
- 209
- 平均合并
- 2 小时 58 分钟
- 30 天内合并 PR
- 7
描述
### 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.
贡献指南
调研方向
首先,在 macOS 15.3.2 和 Xcode 16.3 上使用 Briefcase 0.3.23 重现“Archive”和“Validate App”步骤,然后检查验证日志,查找 Python.framework 和二进制模块缺失的 dSYM。检查打包和编译路径,包括提到的 dsymutil 命令;当归档验证通过且没有“Upload Symbols Failed”警告时,即表示完成。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- python
- 领域
- build-system, mobile-dev
- Issue 类型
- 缺陷
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 活跃度
- 停滞
- 描述清晰度
- 基本清楚
- 新手友好度
- 35/100