首页/新闻资讯/正文详情

Skia 基础设施中的 iOS 开发者镜像资产管理:ios-dev-image-13.5 的创建与更新指南

发布时间:2026/9/25 11:05:46 来源:云帆数科 栏目:资讯中心
Skia 基础设施中的 iOS 开发者镜像资产管理:ios-dev-image-13.5 的创建与更新指南
图形学图像处理【免费下载链接】skiaSkia is a complete 2D graphic library for drawing Text, Geometries, and Images.项目地址https://gitcode.com/gh_mirrors/skia1/skia点击查看免费下载导读本文聚焦 Skia 持续集成CI基础设施中一个看似不起眼却至关重要的资产——ios-dev-image-13.5。它承载着 iOS 13.5 真机调试所需的 Developer Disk Image开发者磁盘镜像是 Skia 在 iOS 真机上跑 DM 测试、性能基准测试的前提。读完本文你将掌握该资产的创建/更新命令、它在 Skia 构建任务如 infra/bots/gen_tasks_logic/gen_tasks_logic.go中的版本映射逻辑以及 CI 机器人如何借助它完成设备配对、镜像挂载与 App 安装的完整链路。一、资产是什么为什么 CI 需要一份 iOS 开发者镜像在 Skia 仓库的infra/bots/assets/目录下维护着大量供构建与测试机器人使用的二进制资产ios-dev-image-13.5只是其中之一。它的作用是为 iOS 13.5 真机提供「开发者磁盘镜像」——Apple 在 Xcode 中随设备支持文件DeviceSupport分发的DeveloperDiskImage.dmg及配套签名文件。真机调试通过ideviceimagemounter挂载镜像、安装测试 App必须依赖这份镜像而 CI 机器无法每次从 Xcode 中即时提取因此 Skia 将其打包为版本化资产随任务下发到机器上。该资产目录下只有两个文件结构极其精简见 infra/bots/assets/ios-dev-image-13.5/README.md资产创建/更新的唯一操作说明VERSION当前资产版本号内容为2见 VERSION。仓库中同时存在ios-dev-image-11.4、ios-dev-image-13.3、ios-dev-image-13.4、ios-dev-image-13.6、ios-dev-image-14.4等同系列资产每个对应一个 iOS 主版本/次版本模式完全一致。二、前提条件Mac XcodeREADME.md 明确说明To create or update this asset, you will need a Mac with Xcode installed.即创建或更新该资产必须在安装了 Xcode 的 macOS 上进行。这是因为开发者磁盘镜像只能从本机 Xcode 自带的 DeviceSupport 目录提取——该目录随 Xcode 版本更新包含对应 iOS 版本的真机调试支持文件。没有 Mac 与匹配的 Xcode 版本就无法获得合法、可用的镜像文件。三、上传命令详解README 给出的完整操作是一条命令./upload.py --target_dir \ /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/13.5逐段拆解./upload.py资产上传入口脚本。实际脚本位于 infra/bots/assets/scripts/upload.py其核心逻辑只有一行——导入同目录下的common模块并执行common.run(upload)即按「上传新版本资产」的标准流程运行--target_dir指定要打包上传的本地目录/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/13.5Xcode 默认安装路径下、iOS 13.5 对应的设备支持目录。该目录内应包含DeveloperDiskImage.dmg与DeveloperDiskImage.dmg.signature两个关键文件下文会看到 CI 如何校验这两个文件。命令执行后脚本会读取当前VERSION2、将target_dir内容打包上传至存储服务并更新版本号随后需要提交包含新VERSION的改动并重新生成任务清单见第五节。四、资产体系的通用工作流sk assetios-dev-image系列资产遵循infra/bots/assets/下统一的资产管理规范见 infra/bots/assets/README.md。每个资产子目录的约定结构为VERSION资产当前版本号可选的create.py由用户实现的资产构建脚本供sk asset upload调用可选的create_and_upload.py用户自定义的便捷封装脚本。通用操作需具备 google.com 账号并完成gcloud auth application-default login认证# 新增资产并上传初始版本 $ sk asset add myasset $ sk asset upload --in ${MY_ASSET_LOCATION} myasset $ git commit # 更新已有资产修改 create.py 后 $ sk asset upload myasset $ make -C infra/bots train $ git commit对ios-dev-image-13.5这类没有create.py的资产而言sk asset upload的--in即--target_dir参数就承担了「指定资产内容来源目录」的职责README 中的./upload.py --target_dir ...正是这一机制的直通用法。五、CI 中的版本映射任务维度如何选资产资产上传后如何被 CI 使用关键在任务生成逻辑 infra/bots/gen_tasks_logic/gen_tasks_logic.go。函数maybeAddIosDevImage用正则os:iOS-(.*)解析任务的机器维度dimension把具体的 iOS 版本号映射到对应资产维度中的 iOS 版本使用资产11.4.1ios-dev-image-11.413.3.1ios-dev-image-13.313.4.1ios-dev-image-13.413.5.1ios-dev-image-13.513.6ios-dev-image-13.6代码注释「Other patch versions can be added to the same case」说明同一大版本的补丁版本可归并到同一条 case例如运行在 iOS 13.5.1 真机上的任务即使用ios-dev-image-13.5资产。若遇到未登记的新 iOS 版本构建会直接失败并提示需参照ios-dev-image-11.4新增对应的 CIPD 包——这正是本文所讲创建流程的自动化落地场景。生成结果可在 infra/bots/tasks.json 中看到name: skia/bots/ios-dev-image-13.5之类的资产条目。六、镜像如何被消费iOS 真机测试的安装链路资产到达测试机后由 flavor 模块消费。核心实现在 infra/bots/recipe_modules/flavor/ios.py 的iOSFlavor._install()完整链路如下设备配对先执行idevicepair validate检查设备是否已配对失败则执行idevicepair pair检查已挂载镜像执行ideviceimagemounter --list若输出中不含ImageSignature说明镜像尚未挂载定位资产包在任务工作目录用 globios-dev-image*定位资产测试数据中示例为ios-dev-image-13.2并要求恰好匹配一个否则报错提取镜像与签名在资产包内查找.dmg与.dmg.signature两个文件——这正是第五节中 Xcode DeviceSupport 目录内容的对应物缺失任一文件都会抛出异常挂载开发者镜像执行ideviceimagemounter image sig安装测试 App用ideviceinstaller -i app_package安装编译产物*.appApp ID 变化导致升级失败时先卸载再重装。也就是说README.md 里那一行上传命令产出的资产最终会以DeveloperDiskImage.dmg 签名文件的形式出现在真实 iPhone/iPad 上支撑 Skia 在 iOS 真机上的 DM 测试与基准测试。七、更新该资产的完整操作清单综合以上分析更新ios-dev-image-13.5的完整步骤为准备一台安装了对应版本 Xcode 的 Mac确认本机存在目录/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/13.5且其中包含DeveloperDiskImage.dmg与DeveloperDiskImage.dmg.signature在包含 upload.py 的资产脚本目录下执行./upload.py --target_dir \ /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/13.5脚本将上传新版本并推进 VERSION提交改动并按 infra/bots/assets/README.md 的规范执行make -C infra/bots train重新生成任务清单最后git commit。八、注意事项与边界操作平台限定该流程仅适用于 macOS XcodeLinux/Windows 机器无法产生合法的开发者镜像版本对齐ios-dev-image-13.5服务于 iOS 13.5/13.5.1 真机若新增 iOS 大版本需在 gen_tasks_logic.go 中登记映射关系参照已有 case 添加账号与权限上传依赖 google.com 账号及gcloud auth application-default login认证属于 Skia 内部 CI 基础设施的授权范围镜像合法性DeveloperDiskImage.dmg随 Xcode 分发使用时应遵循 Apple 的许可条款仅用于开发调试场景。赞分享图形学图像处理【免费下载链接】skiaSkia is a complete 2D graphic library for drawing Text, Geometries, and Images.项目地址https://gitcode.com/gh_mirrors/skia1/skia点击查看免费下载相关推荐Skia 机器人资产指南创建与更新 iOS 13.5 Developer Disk Imageios-dev-image-13.5Skia 机器人资产指南创建与更新 iOS 13.5 Developer Disk Imageios dev image 13.5 Skia 的持续集成图形学Skia 构建基础设施资产管理iOS 13.6 开发者镜像ios-dev-image-13.6的上传与使用指南Skia 构建基础设施资产管理iOS 13.6 开发者镜像ios dev image 13.6的上传与使用指南 本文介绍 Skia 持续集成CI机器人图形学图像处理Skia 基础设施资产详解ios-dev-image-13.6 iOS 设备镜像的创建与上传Skia 基础设施资产详解ios dev image 13.6 iOS 设备镜像的创建与上传 本指南围绕 Skia 仓库中 ios dev image 13.图形学上一篇3分钟智能分层革命Layerdivider如何将任何图片转换为可编辑PSD图层下一篇3步构建CATIA自动化引擎从手动操作到智能流程的革命创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关推荐

RVC变声器完整实战手册:30分钟训出AI音色模型
RVC变声器完整实战手册:30分钟训出AI音色模型

RVC变声器完整实战手册&#xff1a;30分钟训出AI音色模型 【免费下载链接】Retrieval-based-Voice-Conversion-WebUI Easily train a good VC model with voice data < 10 mins! 项目地址: https://gitcode.com/GitHub_Trending/re/Retrieval-based-Voice-Conversion-WebU… · 2026/9/25 11:05:46

【Claude Code解惑】Claude Code 的权限制度:它是如何安全访问你的文件的?
【Claude Code解惑】Claude Code 的权限制度:它是如何安全访问你的文件的?

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 11:05:39

使用运行时反馈修正 Agent 行为:Project 04 增量索引与架构约束实战指南(learn-harness-engineering)
使用运行时反馈修正 Agent 行为:Project 04 增量索引与架构约束实战指南(learn-harness-engineering)

【免费下载链接】learn-harness-engineering Harness engineering beginner tutorial, from 0 to 1 项目地址&#xff1a; https://gitcode.com/gh_mirrors/le/learn-harness-engineering 点击查看 免费下载 本文基于 learn-harness-engineering 仓库中的 Project 04&#xff… · 2026/9/25 11:05:27

Kubebuilder v0 项目到 v1 项目迁移完整指南:重建脚手架与代码移植实战
Kubebuilder v0 项目到 v1 项目迁移完整指南:重建脚手架与代码移植实战

开发者工具代码生成CLI云原生后端 【免费下载链接】kubebuilder Kubebuilder - SDK for building Kubernetes APIs using CRDs 项目地址&#xff1a; https://gitcode.com/gh_mirrors/ku/kubebuilder 点击查看 免费下载 本文档&#xff08;docs/migration_guide.md&#xff09… · 2026/9/25 11:38:06

实验室检测报告管理程序:全流程管控与CNAS/CMA合规要点
实验室检测报告管理程序:全流程管控与CNAS/CMA合规要点

1. 报告管理程序最容易被忽略&#xff0c;却又是不符合项的重灾区先说个真实场景。我参与过不少实验室的CNAS现场评审和CMA资质认定复查&#xff0c;几乎每一次&#xff0c;评审组长都会翻报告&#xff0c;而且是专门挑那些"看起来没问题"的报告翻。翻完之后的结果很… · 2026/9/25 11:38:00

GraphQL Scala 与 Sangria 实战:用 Relation 与 Fetcher 打通 User、Link、Vote 模型关联查询
GraphQL Scala 与 Sangria 实战:用 Relation 与 Fetcher 打通 User、Link、Vote 模型关联查询

【免费下载链接】howtographql The Fullstack Tutorial for GraphQL 项目地址&#xff1a; https://gitcode.com/gh_mirrors/ho/howtographql 点击查看 免费下载 本文基于 HowToGraphQL 的 Scala/Sangria 后端教程&#xff0c;系统讲解如何在 Sangria 中借助 Relation 与 Fetc… · 2026/9/25 11:37:54

极域课堂‘万能密码’传闻:SQL注入认证绕过原理与机房加固
极域课堂‘万能密码’传闻:SQL注入认证绕过原理与机房加固

1. "万能密码"传闻背后的真实控制链路极域课堂管理系统不是新鲜玩意&#xff0c;只要是管过机房或者上过信息技术课的人&#xff0c;大概率都见过它。教师端一按"屏幕广播"&#xff0c;所有学生机瞬间进入受控状态&#xff0c;鼠标键盘被静默接管&#xff… · 2026/9/25 11:37:54

护网行动攻防演练全流程:从攻击路径到应急响应的安全运营实战指南
护网行动攻防演练全流程:从攻击路径到应急响应的安全运营实战指南

1. 护网行动到底在干什么&#xff1a;核心流程与整体思路说句实在话&#xff0c;护网行动这几年在安全圈已经快从“大考”变成“常态节目”了。每年备战期一到&#xff0c;甲方安全团队、乙方厂商、外聘的红队、刚入行的新人都会被卷进同一个话题&#xff1a;红队怎么打、蓝队怎… · 2026/9/25 11:37:54

深入解析 mousetrap:如何让 CLI 工具优雅应对 Windows「双击启动」
深入解析 mousetrap:如何让 CLI 工具优雅应对 Windows「双击启动」

云原生 【免费下载链接】buildah A tool that facilitates building OCI images. 项目地址&#xff1a; https://gitcode.com/gh_mirrors/bu/buildah 点击查看 免费下载 导读 mousetrap 是一个极简的 Go 库&#xff0c;它只回答一个问题&#xff1a;在 Windows 上&#xff0c… · 2026/9/25 11:37:48

数值优化(Numerical Optimization)学习系列-03-共轭梯度方法(Conjugate Gradient)
数值优化(Numerical Optimization)学习系列-03-共轭梯度方法(Conjugate Gradient)

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:31

创维E900V22D刷机全攻略:S905L3SB芯片兼容性解析与救砖实战
创维E900V22D刷机全攻略:S905L3SB芯片兼容性解析与救砖实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:31

MQTT协议原理与Broker服务器搭建实战:从Mosquitto到EMQX
MQTT协议原理与Broker服务器搭建实战:从Mosquitto到EMQX

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:37

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码