iOS自动化测试:无源代码仅有.app文件如何在真机安装应用并启动测试?
无源代码仅持有.app时XCUITest自动安装应用方案
方法1:将.app嵌入测试项目配置(推荐,Xcode自动处理安装)
- 打开XCUITest项目,选中左侧导航栏顶部的项目文件,在TARGETS列表中选中你的UI测试目标
- 切换到Build Phases标签页,点击左上角的+号,添加
Copy Files构建阶段 - 将该阶段的Destination下拉选项设置为
Products Directory,点击阶段下方的+号导入本地的.app文件,勾选Copy items if needed完成导入 - 切换到测试目标的General标签页,找到Frameworks, Libraries, and Embedded Content栏,将刚导入的.app的Embed选项设置为Embed & Sign
注意:你的.app必须与测试目标的运行环境匹配:运行在模拟器时.app需要包含对应模拟器架构(x86_64/arm64),运行在真机时.app需要用合法开发者证书签名且包含目标设备的UDID,否则会出现安装失败的问题。
方法2:命令行预安装(适合本地调试/CI流水线场景)
不需要修改项目配置,可在测试执行前通过工具先安装.app到目标设备:
- 模拟器环境执行以下命令安装:
xcrun simctl install booted /path/to/your/target.app - 真机环境可安装
ideviceinstaller工具后执行以下命令安装:ideviceinstaller -i /path/to/your/target.app
安装完成后再调用XCUIApplication.init(bundleIdentifier:)即可正常启动应用。
校验注意事项
如果完成上述操作后依然无法启动,可执行以下命令确认.app的Bundle ID与你代码中传入的参数完全一致:plutil -p /path/to/your/target.app/Info.plist | grep CFBundleIdentifier
内容的提问来源于stack exchange,提问作者Mohamed Wasiq
相关产品推荐
相关产品推荐

