← 归档入口

P2 CoreProfile 启动阶段分析结果

日期:2026-09-06 · 状态:implemented · partial · 证据:E2 / E4

结论

StartupTiming 的受控冷启动、唯一 CoreProfile tap、KDebug RAW v2、PID/TID 归因、App Launch Total、9 类阶段、重复 Span、最终质量和时间轴 UI 已接通。pymobiledevice3 11.3.1 是唯一 DTX owner;py-ios-device 2.4.26 只提供私有协议和旧事件映射研究依据。

最终 iOS 17/18 真机发现实际 lifecycle code 已超出旧映射;因此跨版本阶段门禁仍是 partial。缺少完整首尾锚点时 App Launch Total 为 null,未匹配阶段显示 missing,不用局部耗时或 0 冒充完整启动时间。

启动阶段与计算

阶段原始事件或公式
App Launch TotalinitialFrameEndTimestampNs - systemInterfaceBeginTimestampNs
System Interface Initialization0x1F07 code=13 → 0x2BDC code=4 arg0=10
Static Runtime Initialization0x2BDC transition → 0x1F07 static end
UIKit Initialization0x2B87 code=90 arg0=0x32 → code=21
UIKit Scene Creation完整同名 Span 求和;原始重复 Span 保留多行
will/didFinishLaunching23→24 / 25→26
sceneWillConnect / sceneWillEnterForeground300→301 / 312→313
Initial Frame Renderingcode=12 → 与之配对的 0x31CA0006

Mach 时间使用整数换算:timestampNs=floor(machTicks×numer/denom);Span 为同线程 stack 配对;跨 CPU 记录先按 Mach timestamp 重排。算法版本为 core-profile-app-lifecycle.candidate.v2

自动化与产物(E2)

项目结果
冻结 CPython 3.12146/146
Swift80/80
Registry64 个静态 metricID;启动分析新增 10 项
Mac App1.0.0 (24) · x86_64 · ad-hoc 深度严格签名通过
测试 ZIPPerfowl-1.0.0-beta24-x86_64.zip · SHA-256 7334ceb7df73e070ad77ab328376b803f394eb222ca21df4ea09e1cab157adcf
Foundationcollector-foundation.1.5-beta · 283/283 checksum · SHA-256 638e081b6664ae7b421012ed94a21740680e055a60e80696884b09003afc0698

真机结果(E4)

验收iOS 16iOS 17iOS 18
历史 raw 重放4 spans / 3 类阶段 / partial2 spans / 2 类阶段 / partial0 span / missing
最终二进制642 raw;1,120,699 KDebug;identity verified;drop 0508 raw;1,599,332 KDebug;identity verified;drop 0
最终阶段质量总耗时 null139/139 lifecycle 旧映射未知;missing;总耗时 null430/435 lifecycle 旧映射未知;missing;总耗时 null

仓库只保存设备 A/B/C 与目标 App A 匿名聚合;无真实设备、应用、Bundle、PID、账号或签名标识。机器可读证据:匿名 E4 JSON

下一阶段与整体进度

下一阶段为 Startup Mapping v3:用自有可控 Fixture 与 Instruments/xctrace 同窗标记 iOS 17/18 新 code,逐条建立稳定阶段映射;证据不足时继续 missing。整体 P0/P1 完成;P2 主体完成但启动内部阶段门禁开放;P3 代码链完成;P4 产品链完成、人工 UI 验收开放;P5 部分完成;P6 研究中;P7 未开始。