iOS自动化之打包-xcodebuild命令行打包.app并安装到ios模拟器

这篇具有很好参考价值的文章主要介绍了iOS自动化之打包-xcodebuild命令行打包.app并安装到ios模拟器。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.目的
做ios ui自动化测试过程中,想通过试验命令行自动打包到特定的ios模拟器,以便后期集成到shell脚本
2.思路
先了解下整个手动安装包的流程,开发用xcode写完代码,并编译就可以打出安装包,测试把包安装到手机上测试
自动化就是想办法可以让他自动完成xcode的一些操作,自动安装到手机,但跑自动化测试的话一般会放到模拟器上
这个时候自动化就分为了两步,一自动打包,二自动安装
3.涉及到的知识
自动打包的命令涉及到xcodebuild
自动安装的命令涉及到xcrun
iOS安装包的类型有两种,一种是.ipa安装到真机上的,一种是.app安装到ios模拟器上的,之所以不同是因为ios真机(i386/x64)和模拟器(armv7/arm64…)的架构不一样,这些设置可以在xcdoe build setting里的Excluded Architectures进行修改,但用命令行打包可以不用管这里

iOS自动化之打包-xcodebuild命令行打包.app并安装到ios模拟器
4.实践
1.有一个可以打包的xcode账号,一般问开发要就可以
2.git clone对应项目到本地
3.进到项目文件夹下
4.打开模拟器
open /Applications/Xcode.app/Contents/Developer/Applications/Simulator.app

5.打包
-scheme 一般是你们在xcode里运行项目时product-scheme里选中的那个选项,我这个直接是app的名称
-workspace 这个看你们项目一般用.workspace还是.proj运行,如果有.workspace的话就用👇的,如果是.proj就把-workspace xxx.xcworkspace换成-project xxx.proj
-destination后面加打包到的机型,如果不填,默认是打iphone的包而不是iphonesimulator
xcodebuild -scheme xxx -workspace xxx.xcworkspace -destination 'platform=iOS Simulator,name=iPhone 13,OS=15.0' -derivedDataPath build
6.运行完后,会在项目文件夹的build里生成.app包,进行安装
xcrun simctl install booted build/Build/Products/Debug-iphonesimulator/xxx.app
就大功告成啦
5.踩的坑
1.最开始的想法是先打开模拟器,再进行打包,,只不过打包的命令里没有标明-destination,觉得他一定会把包安装到那个打开的模拟器上,但是打出来的包安装到模拟器上会报:
This app needs to be updated by the developer to work on this version of iOS.
Failed to find matching arch for input file: /Users/user/Library/Developer/CoreSimulator/Devices/CCE1509C-91B3-47A9-A61E-E8B02627B454/data/Library/Caches/com.apple.mobile.installd.staging/temp.aOBiJl/extracted/xxx.app/App
2.看到This app needs to be updated by the developer to work on this version of iOS.,我以为是因为iOS15的系统有签名的问题,网上查了我的签名是好的
3.看到Failed to find matching arch搜了下,可能和架构有关,那就可能和打的包有关,再看下打包命令没有带-destination, Products下打出的包默认是其实是iphone真机包,所以没有办法安装到ios模拟器上的,加了destination后就可以正常打成模拟器包啦,所以要安装到模拟器的包,xcodebuild打包命令里一定要带-destination这个参数!!!!!!!!!!!!!
iOS自动化之打包-xcodebuild命令行打包.app并安装到ios模拟器文章来源地址https://www.toymoban.com/news/detail-416842.html

到了这里,关于iOS自动化之打包-xcodebuild命令行打包.app并安装到ios模拟器的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • uniapp使用cli脚手架创建兼容小程序和h5的项目 自动化命令打包运行

    HbuliderX搭建项目结构: CLI搭建项目结构: CLI方式搭建uniapp项目: 大家可以看下两种方式搭建的项目文件夹目录有什么区别,上面的是HbuilderX模版搭建的小程序项目,下面的是cli搭建的项目,先把my-test项目中src下面的文件全部删除,然后我把小程序代码全部塞进了src文件夹下

    2024年02月16日
    浏览(75)
  • iOS 自动化测试 (2):基本环境准备 - 安装WebDriverAgent(WDA)

    在配置好了Appium的基础环境之后,下一步需要在被测试设备中安装WebDriverAgent。 先介绍一下什么是WebDriverAgent,WebDriverAgent是Facebook 在SeleniumConf 大会上推出的一款新的iOS移动测试框架,支持模拟器和真机。WebDriverAgent的本质是WebDriver Server。在iOS客户端安装了WebDriverAgent 就等于

    2024年01月25日
    浏览(46)
  • iOS自动化测试方案(一):MacOS虚拟机保姆级安装Xcode教程

    一、环境准备 1、下载VMware虚拟机的壳子,安装并注册软件(可以百度注册码),最新版本:v17 2、下MacOS系统iOS镜像文件,用于vmware虚拟机安装,当前镜像最新版本:v11.6 二、基础软件 1、MacOS系统找到App Store,这点同iphone操作,搜索Xcode点击安装 2、不出意外的话还是出意外了,

    2024年02月07日
    浏览(58)
  • Jenkins自动化打包脚本

    jenkins可以设置定时任务打包,也已手动点按钮打包,还可以通过执行http请求打包,今天我们就通过shell脚本,通过curl命令进行jenkins打包。 2.1 在jenkins上构建项目 设置触发器

    2024年02月13日
    浏览(42)
  • jenkins-自动化打包部署

    环境:         centos 7.2或者更新         rmp包:官方下载地址 Redhat Jenkins Packages         java-1.8.0 安装: 配置:jenkins 配置文件 /etc/sysconfig/jenkins  ,可以根据需求自行修改 访问web 并进行配置 稍等一会,就可以正常登录了 根据需要安装自定义插件,本次选择是推

    2024年02月13日
    浏览(49)
  • Android使用Jenkins自动化打包

    了解Jenkins工具 Jenkins在Windows系统下的环境搭建 Jenkins 的Android 构建环境配置 创建FreeProject Item,配置Android Gradle工程构建环境 Jenkins格言: Build great things at any scale 。 Jenkins是一款开源CICD软件,提供超过1000个插件用于支持各种自动化任务,包括构建、测试和部署软件。 Jenkins 支

    2024年02月10日
    浏览(45)
  • jenkins编译打包及自动化部署

    一:简介 Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。 官网文档:https://www.jenkins.io/zh/doc/ 二:下载及安装(Windows为例) 下载Jenkins安装包 需要安装jdk(11和17版本

    2024年03月21日
    浏览(51)
  • Android之Gradle自动化打包实战

    解放双手,双击桌面快捷方式生成apk包,基于Gradle、bat文件让开发人员告别打包烦扰! 前不久有一个Unity3D研发的小仙女在羽毛球场问我关于Android Studio打apk的一些事情,她说他们运营和测试隔三差五的就坐着她旁边要她重复性的打包(估计是那群痴汉打着工作的幌子实际上干

    2024年02月05日
    浏览(42)
  • Unity 基于Jenkins自动化打包流程

    什么是Jenkins?         Jenkins是一款开源 CICD 软件,用于自动化各种任务,包括构建、测试和部署软件。Jenkins 支持各种运行方式,可通过系统包、Docker 或者通过一个独立的 Java 程序。 Jenkins的下载与安卓 直接搜索jenkins进入官网下在LTS(稳定版本)下载地址:https://www.jen

    2024年02月08日
    浏览(42)
  • Selenium自动化脚本打包exe文件

    近期由于工作需要写了一个selenium自动化脚本,但是每次运行的时候都要打开Pycharm,因此本人直接使用Python第三方打包库PyInstaller将py文件打包成一个可执行的exe文件,在使用时无需安装Python也可以点击运行。 PyInstaller是一个使用较为简单便捷的打包套件,只需要几行命令即可

    2023年04月08日
    浏览(105)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包