用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/didi/dmap --skill sdk-integration命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
正在显示 SKILL.md
拉取并接入 SDK,安装应用层认知环境并完成双重验证。
滴滴地图(滴图出行技术开放平台)Android SDK 开发指南,涵盖地图、定位、WebService、导航四大模块。在编写、审查或调试使用滴滴地图 Android SDK 的代码时应运用此技能。适用于地图初始化、标记、覆盖物、图层管理、事件处理、相机控制、UI 设置;定位服务(单次/连续/导航定位);POI 搜索、地理编码、路线规划等 WebService 接口;以及组件导航与自定义导航等任务。当用户提及 DiMap、滴滴地图、滴图、DMapLocationClient、定位 SDK、WebService、POI 搜索、逆地理编码、路线规划、导航 SDK、DMapNavi 或相关 Android 移动端地图开发需求时自动触发。
Use when a user explicitly invokes $build-didi-map-sdk-features to implement Didi map, navigation, location, hotspot, or recommended-point SDK functionality in a host project; never trigger implicitly.
| name | sdk-integration |
| description | 使用 pod-maker 将 SDK Framework 制作为本地私有 Pod,接入目标 iOS 工程并完成依赖安装与构建验证。仅在用户明确要求集成 SDK 时调用。 |
把 pod-maker 视为制作规则的单一来源,完成“识别 SDK → 制作 Pod → 下载 Framework → :path 接入 → 构建验证”的闭环。本 Skill 的完成态是本地私有 Pod 已接入当前工程;Git、Tag 与私有 Specs 发布属于用户另行指定的交付动作。
Podfile 和 .xcodeproj 或 .xcworkspace 的目录作为宿主工程根;若存在多个候选,依据用户指定的工程或 Target 选择。选择会改变接入目标时,先向用户确认。rg --files 定位 pod-maker/makePod.sh。要求同目录同时存在 init.sh、README.md 和 templates/downloadSDK.sh.template。pod-maker 的 README.md、快速接入指南、makePod.sh 与下载脚本模板,以当前文件行为为准。Podfile、Podfile.lock、工程 Target、最低 iOS 版本和 git status --short;保留所有无关改动。pod-maker.json、SDK 交付文件和工程声明中建立 SDK 清单。每项必须解析出 podName、Framework 基础名称、稳定的 HTTPS zip 地址和最低 iOS 版本。下载地址、目标 Target 或 SDK 对应关系无法从工程中确定时,返回 needs_input 并只询问缺失值。完成标准:宿主根、唯一 Pod Maker、目标 Target、配置路径和每个 SDK 的四项必需值均已确定,且待修改文件与用户已有改动已列清。
init.sh <config-path> 生成模板,再替换全部占位值。defaults;仅把真实差异留在各 pods[] 中。将 outputDirectory 设为宿主工程内稳定、可用相对路径表达的位置。podLibCreateAnswers 与当前 CocoaPods 提问顺序一致。makePod.sh 的覆盖提示中输入 y。完成标准:JSON 可解析、没有 PodName* 或 example.com 占位值、SDK 清单逐项对应配置,且所有覆盖动作均已获得授权。
pod --version、/usr/bin/ruby --version、curl --version 和 unzip -v 可运行。./makePod.sh <config-path>,记录成功、失败和跳过清单。失败项必须修复或返回 needs_input;只有与当前配置一致的既有 Pod 才可接受为跳过项。<PodName>.podspec、pod-config.json、downloadSDK.sh 和 .gitignore;确认 podspec 的 prepare_command、vendored_frameworks、公开头文件、资源路径及最低 iOS 版本都指向同一个 Framework。:path,在每个 Pod 根目录执行 bash downloadSDK.sh。确认 Framework/<FrameworkName>.framework/Info.plist、主二进制和 Headers 存在;SDK 声明包含 bundle 时同时确认资源存在。Framework/ 保持在 .gitignore 中;提交状态只包含配置、Pod 包装文件和宿主接入改动。完成标准:制作汇总没有失败项;每个 SDK 都有结构完整的私有 Pod 和已下载、名称规范化的 Framework。
在正确 Target 中为每个 SDK 添加或更新一条声明:
pod 'PodName', :path => 'relative/path/to/generated/PodName'
:path 指向包含 podspec 的 Pod 根目录,并相对 Podfile 解析。沿用该 Target 已有的 inhibit_warnings、modular_headers 等约定,不凭空增加编译选项。
同名声明已存在时原位更新路径和选项;每个 Target 只保留一条有效声明。保留已有 source、post_install 和无关依赖。
SDK 之间存在显式依赖时,以 SDK 文档、现有 podspec 或链接错误证据为依据补充依赖;所有被当前二进制引用的私有 Pod 必须出现在解析结果中。
在宿主根执行 pod install。检查 Podfile.lock 中每个私有 Pod 的 EXTERNAL SOURCES 均解析到预期本地目录,并确认生成的 workspace 包含 Pods 工程。
完成标准:Podfile 中声明唯一且路径有效,pod install 成功,锁文件解析到本次生成的全部私有 Pod。
xcodebuild -list 从生成的 workspace 读取 scheme;选择与目标应用 Target 对应的共享 scheme。git diff 和 git status --short,确认没有改写用户无关文件,也没有把下载的 Framework 加入版本控制。完成标准:真实应用 Target 构建成功,或返回包含失败命令、首个根因和所需输入的 needs_input。pod install 成功不能替代 Target 构建成功。
报告:宿主 Target、Pod Maker 路径、配置路径、生成的 Pod/Framework 清单、Podfile 接入位置、pod install 与构建结果、保留的用户改动。仅在上述五个完成标准全部满足时使用状态 integrated;其余使用 needs_input,不得把“已生成 Pod”表述为“已完成接入”。