版本V1.1运行环境macOS用途iOS 真机自动化测试 WDA 重签名 重要前提仅用于本人自有 iOS 设备自动化测试时效总览免费 Apple ID 签名有效期 7 天付费开发者账号正确使用手动导出开发描述文件可实现 1 年有效期账号、证书、描述文件三者有效期相互独立。一、前置准备1. 需要的文件与工具WebDriverAgentRunner‑Runner.zipWDA 预编译包从 Github WebDriverAgent Releases Releases · appium/WebDriverAgent下载重签名工具iOS App Signer官网iOS App Signer - InstructionsApple 账号免费 Apple ID / 付费 99$ 苹果开发者账号Xcode 内完成登录签名证书iPhone Developer开发证书Xcode 可自动生成描述文件.mobileprovision开发版预置描述文件环境Xcode 命令行工具2. 设备要求iPhone 真机的 UDID 必须添加到苹果开发者后台Mac 与 iPhone 可以正常 USB 连接⚠️ iOS17 及以上硬性要求签名前必须删除 XC 开头 Framework否则安装后直接闪退二、原始 zip 包处理生成 WDA.ipaiOS App Signer 仅支持 ipa不能直接使用 zip 包解压WebDriverAgentRunner‑Runner.zip得到 Payload 文件夹内部为WebDriverAgentRunner‑Runner.app【iOS17 必执行】删除 XC 框架终端进入 Payload 下的 Frameworks 目录rm -rf XC*.framework打包生成 ipa终端进入 Payload 同级目录执行zip -r WDA.ipa Payload附录一键脚本保存为package_wda.sh放到 Payload 同级目录#!/bin/bash rm -rf Payload/WebDriverAgentRunner-Runner.app/Frameworks/XC*.framework zip -r WDA.ipa Payload echo 打包完成生成 WDA.ipa执行授权运行chmod x package_wda.sh ./package_wda.sh三、证书 描述文件核心概念重点区分账号、证书、PP 描述文件很多人踩坑付费账号依然 7 天失效根源混淆三者有效期表格项目说明有效期付费个人开发者账号开发者会员资格账号本身开发权限1 年iOS Development 开发证书用于代码签名的证书文件1 年预置描述文件.mobileprovisionPP打包进 IPA 内部决定 WDA 在手机实际运行时长1. 开发者后台手动创建「iOS App Development」→1 年2. 第三方工具自动拉取临时 PP→仅 7 天关键坑哪怕你是付费账号如果让 iOS App Signer 自动生成描述文件拿到的是 7 天临时 PPWDA7 天后失效。现象App 图标可见、有 Automation 水印但是 WDA 的 8100http 服务挂掉curl 8100/status返回‑1004。补充Xcode 直接 Run 运行 WDA使用 Team 通配描述文件付费账号下是 1 年有效期第三方重签名工具不会复用这套逻辑。 ❗禁止使用 AdHoc 描述文件签 WDAAdHoc 不支持 XCTestWDA 无法正常运行只能选iOS App Development类型。获取 1 年有效期的.mobileprovisionPP正确步骤打开苹果开发者后台 → Certificates, Identifiers Profiles → Profiles点击 新建类型选择iOS App Development开发描述文件App ID配置和 WDA 的 BundleID 匹配也可以直接用通配符*Devices务必勾选目标 iPhone 设备 UDID生成描述文件下载.mobileprovision保存到本地 Mac。基础导出方式XcodeXcode → Settings → Accounts 登录 Apple ID创建任意 iOS 项目选择对应 Team连接真机Xcode 自动生成iPhone Developer开发证书Signing Capabilities → Provisioning Profile → Download Profile导出描述文件。约束条件PP 描述文件必须包含目标手机 UDIDBundle ID 必须和描述文件绑定的 AppID 保持一致四、iOS App Signer 图形化重签名操作⚠️ Provisioning Profile必须手动选择下载好的.mobileprovision 文件不要留空禁止工具自动生成否则得到 7 天临时 PP。打开 iOS App SignerInput file选择处理好的WDA.ipaSigning Certificate下拉选择iPhone Developer: xxx开发证书Provisioning Profile选中开发者后台手动下载的.mobileprovisionBundle Identifier填写和描述文件匹配的自定义 BundleID例如com.test.wdaxcui其余参数默认点击 Start输出文件命名WDA‑resigned.ipa✅ 重签名后校验描述文件实际有效期解压 ipa 读取内置的描述文件确认过期时间判断是 1 年还是 7 天unzip wda-signed.ipa -d wdatmp security cms -D -i wdatmp/Payload/WebDriverAgentRunner-Runner.app/embedded.mobileprovision profile.plist /usr/libexec/PlistBuddy -c Print :ExpirationDate profile.plist输出为一年后时间配置正确输出只有 7 天后使用了工具自动生成临时 PP需要重新操作。五、安装重签名后的 IPA 到 iPhone方式 1ideviceinstaller终端推荐没有命令先安装依赖brew install libimobiledevice安装 ipaideviceinstaller -i WDA-resigned.ipa方式 2Xcode 图形界面安装Xcode 菜单 Window → Devices and Simulators左侧选中目标 iPhone 设备窗口下方点击选中WDA‑resigned.ipa完成安装六、验证 WDA 是否正常工作安装完成后终端执行启动测试xcodebuild test-without-building -xctestrun WebDriverAgentRunner.xctestrun -destination id你的手机UDID配置到 Appium 即可开展 iOS 自动化测试。七、常见问题排查表格现象根因解决方案iOS App Signer 证书下拉列表空白证书缺失私钥、Xcode 账号未加载重新登录 Xcode 账号钥匙串验证开发证书私钥重启 iOS App SignerIPA 安装失败提示描述文件不含设备UDID 没有加入开发者后台添加手机 UDID重新生成下载描述文件签名成功WDA 打开直接闪退①iOS17 未删除 XC 框架②BundleID 不匹配③免费账号 7 天过期删除 XC*.framework核对 BundleID账号过期则重新签名codesign 权限报错缺少 entitlements 权限iOS App Signer 会自动带入描述文件权限一般无需手动干预WDA 能看到图标但是 8100 服务‑1004 报错使用 7 天临时 PP描述文件过期后台手动创建 iOS App Development 描述文件手动导入重签名校验 ExpirationDate八、重要补充约束iOS App Signer 优势自动处理 App 内 Framework、entitlements 权限文件对比原生 codesign 终端签名操作简单。免费 Apple ID 限制最多绑定 10 台设备签名 7 天失效到期需要重新签名。WDA 特殊注意点PP 必须包含设备 UDIDBundleID 与 AppID 匹配通配符*AppID 最省事WDA 属于 XCTestRunner重签名不能丢失 entitlements 权限否则即便 PP 是 1 年WDA 内部 http 服务依然启动失败重启手机后会丢失XCTest框架需连接上Mac电脑等待几分钟左右才可启动成功绝对不能使用 AdHoc 类型描述文件签名 WDA使用范围仅限自有设备个人自动化测试禁止商用、破解、批量设备部署。
企业数字化 ERP 产品动态
相关推荐
配电网日前两阶段优化调度:IEEE 33节点分布式电源与储能Matlab实现 做配电网优化调度的朋友应该都有体会,开源代码不少,但一套能直接跑、还带分布式电源和两阶段调度的完整Matlab代码,真不好找。最近我把手头的日前两阶段优化调度模型整理了一遍,基于IEEE 33节点配电网,加入了分布式光伏… · 2026/9/24 21:43:15
Java贪吃蛇毕业设计:Swing游戏开发与答辩要点全解析 简介:Java毕业设计资源,以贪吃蛇游戏为选题,提供完整源代码与论文文档。面向Java初学者、高校学生及毕业设计开发者,尤其适合需要完成课程设计或毕业设计项目、希望从零理解Java游戏开发流程并快速上手的读者。压缩包共15个文件&a… · 2026/9/24 21:43:15
Agent Skills开发实战:从底层逻辑到安装测评全攻略 这两年做 AI agent 开发,最明显的一个变化是:大家讨论的重点从"怎么让 agent 更会推理"逐渐转向了"怎么让 agent 更会干活"。而"会干活"这件事,绕不开一个东西——agent skills。简单说,skills 就是… · 2026/9/24 21:43:08
阿里开源Agent Skills实战:从零搭建可插拔AI技能模块 1. 这个 Skill 项目到底解决了什么问题1.1 从"能聊天"到"能干活"的鸿沟大模型接入开发流程这件事,过去一年我踩过的坑比前几年加起来都多。最典型的场景是:你让模型帮你改一个配置文件,它给你返回一段看起来没问题的文本… · 2026/9/24 22:16:26
使用WPF与腾讯云OCR实现批量图片固定区域文字识别及自动重命名 一直都有朋友问:我有一堆JPG图片,每张图片上固定位置有一段文字,比如发票号、设备编码、快递单号,能不能自动把这些文字识别出来,直接改成文件名?市面上的OCR工具很多,能识别文字的都一大把&… · 2026/9/24 22:16:26
腾讯云上搭建dsh-market:DeepSeek Harness插件市场完整部署指南 1. 动手之前,先弄明白 dsh-market 到底解决的是什么问题 最近不少人在折腾 DeepSeek Harness 的本地化部署。工具本身装好只是第一步,真正让智能体平台具备实用价值的,是它背后的插件体系。dsh-market 就是 DeepSeek Harness 的插件市场组件… · 2026/9/24 22:16:26
国产化FTP替代选型指南:从安全合规到信创落地全解析 很多人一看“国产化FTP替代”这个题目,第一反应是,FTP都多少年的老古董了,现在谈替代,是不是有点小题大做?如果你还在用FTP传文件,尤其是金融、政务这类对安全和合规极其敏感的行业,这个问题真不… · 2026/9/24 22:16:26
Switch 23.0.0 大气层救砖指南:引导链与虚拟系统恢复全流程 最近 Switch 系统版本刷到 23.0.0,我这边好几个群友在更新大气层系统之后,机器直接黑屏、卡 Logo、虚拟系统进不去,各种姿势的“变砖”都冒出来了。有人急着问是不是要返厂,有人已经开始物色新机器。我帮他们排查了一圈࿰… · 2026/9/24 22:16:26
9款降AI率工具横评:从检测原理到实战避坑指南 你有没有遇到过这种情况——辛辛苦苦用AI搭好论文初稿,丢进检测软件一查,直接给你标红一片?对话框里那些逻辑通顺的长句,在GPTZero、Turnitin这类AI检测器眼里,几乎就是“一眼假”。于是“降AI率工具”成了研究生圈子里… · 2026/9/24 22:16:20
基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程 简介:这是一套面向计算机、人工智能、自动化等专业学生与教师的毕业设计级项目资源,围绕YOLOv8实现渔船作业监控系统,可用于毕设、课程设计、大作业或项目立项演示。压缩包共97个文件,约24.21MB,以70个Python源码文件为… · 2026/9/24 0:00:13
1D-CNN时间序列建模实战:从Conv1d原理到工业落地 简介:面向时间序列数据建模的一维卷积神经网络完整实现,适合深度学习入门者及需要快速验证时序模型的研究者,能够从音频、文本、传感器或股价等序列中挖掘局部特征与时间依赖。压缩包体积很小,只有3KB,内含3个Python脚… · 2026/9/24 0:00:26
柔软的L:汉语语流中被忽视的舌肌张力控制 1. 这个“L”不是字母表里的L,而是舌尖上的L最近在几个方言群和语音教学社群里,反复看到有人发一句:“也说字母L:柔软的长舌”。初看以为是英语发音课笔记,点开才发现全是方言爱好者、播音系学生、语言康复师甚至戏曲演… · 2026/9/24 0:00:44