最新要闻
- 今日热文:欧洲2035禁售燃油车!专家:电动车难完全取代燃油车
- 环球焦点!Wind11新预览版25300发布:实时字幕对中国用户更加友好!
- 当前时讯:新日登北京电动自行车不合格“黑榜”:多批电池管理系统有问题
- 新消息丨不愧是玩无人机的 大疆车载产品矩阵揭秘:高阶辅助只需摄像头
- 这合理吗?公厕免费取纸先关注微信公众号
- 重点聚焦!大疆Inspire 3无人机来了:配全画幅X9相机、可录8K视频
- 全球速递!用了电信5G 浙大完成中国首例5G超远程机器人肝胆手术:跨越近万里
- 总投资389亿!2023年第一条高铁获批:沿海超级通道定了
- 全球速讯:消息称腾讯XR团队全线解散:成立不到1年!
- 鄱阳湖旗舰店麻辣小龙虾官方大促:1.4 斤29.9元到手
- 深交所向新亚制程发出关注函
- 快看点丨西部数据推出22TB/44TB My Book桌面硬盘 售价高达1500美元
- 曝光交个朋友欠薪 当事人最新回应:罗永浩正积极联系公司解决
- 果粉买不?苹果折叠屏会先拿iPad试水!折叠iPhone风险太高了
- 当前热讯:想要过目不忘?进来学两招、保证不后悔!
- 世界热资讯!12.4万买帕纳梅拉梦碎 首单车主:保时捷傲慢 100万都不卖
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
全球今亮点!xcodebuild命令行工具使用详解
xcodebuild命令行工具使用
如何通过命令行编译ios项目?
xcodebuild是一个命令行工具,允许你从命令行对Xcode项目和工作区执行编译、查询、分析、测试和归档操作。它对项目中包含的一个或多个目标或项目或工作区中包含的方案进行操作。xcodebuild提供了几个执行这些操作的选项,如其手册页所示。默认情况下,xcodebuild将命令的输出保存在Xcode应用程序的locations首选项窗格中定义的位置中。有关各种xcodebuild用法,请参见下文。在运行以下任何命令之前,请确保导航到终端中包含项目或工作空间的目录。
要列出工作区中的所有方案,请在终端中运行以下命令:
(资料图片仅供参考)
xcodebuild -list -workspace
.xcworkspace 是指你项目里工作空间的名字。 列出MyApplication工作区中的所有方案:
要列出项目中使用的所有目标、生成配置和方案,请在终端中运行以下命令:
xcodebuild -list -project
.xcodeproj 是指你的项目名。 列出有关MyProject(一个Xcode项目)的所有信息:
要在项目中构建方案,请在终端中运行以下命令:
xcodebuild -scheme
build 其中
和build分别是要构建的方案的名称和要对方案执行的操作。 构建tvOS方案:
注意:xcodebuild支持可以在目标或方案上执行的各种构建操作,如构建(build)、分析(analyze)和归档(archive)。然而,当未指定任何操作时,默认情况下会执行构建。
要使用配置文件构建目标,请在终端中运行以下命令:
xocdebuild -tartget
-xcconfig .xcconfig 其中的
和 分别是要构建的目标的名称和配置文件的名称。 使用配置文件来编译iOS目标:
要更改xcodebuild命令的输出位置,请使用SYROOT(生成产品路径)和DSTROOT(安装生成产品位置)生成设置,它们分别为Debug product和.dSYM文件以及release product指定一个位置。
为iOS程序的Debug版本设置位置:
为iOS程序的Release版本设置位置:
如何通过命令行来执行单元测试?
xcodebuild工具提供了一些选项来执行单元测试。
要通过命令行编译执行单元测试,可在终端执行以下命令:
通过命令行编译但不运行单元测试,可在终端执行以下命令:
通过命令行运行单不编译单元测试,可在终端运行以下命令的一种
测试操作需要指定方案(scheme)和目标(destination)。
-workspace选项用于指定你的工作空间的名字,该选项应在你的方案里包含工作空间时使用。
-project选项用于指定你的xcode project的名字,该选项应在你的方案里包含xcode project的时候使用。当同一目录中有多个Xcode项目时,它是必需的,否则是可选的。
-destination选项用于为你的单元测试指定一个目标,它接受一个参数
-only-testing和-skip-testing选项是可选的,它们分别表示运行或跳过指定的测试,它们接受一个参数
TestTarget[/TestClass[/TestMethod]]
TestTarget是必需的,是测试包的名称。TestClass和TestMethod都是可选的,它们分别表示类的名称和要测试的方法的名称。
对于Mac OS应用程序, destinationspecifier支持platform和arch两个key, 如表1所示,这两个key是在macOS上运行单元测试所必须的
表1:
以下是在macOS中执行测试方案的示例,其中destinationspecifier设置为“platform=macOS,arch=x86_64”。
xcodebuild test -scheme macOS -destination "platform=macOS,arch=x86_64"
对于iOS和tvOS应用程序,destinationspecifier支持的key为platform、name和id,如表2所示
表2
在udid为965058a1c30d845d0dcec81cd6b908650a0d701c的设备上测试iOS方案:
xcodebuild test -workspace MyApplication.xcworkspace -scheme iOSApp -destination "platform=iOS,id=965058a1c30d845d0dcec81cd6b908650a0d701c"
在iPhone上测试iOSApp方案:
在iPhone上测试但跳过“iOSAppUITests”:
xcodebuild test -workspace MyApplication.xcworkspace -scheme iOSApp -destination "platform=iOS,name=IPhone" -skip-testing:iOSAppUITests
只测试iOSAppTests单元测试中的第二个测试类中的testExampleB:
对于iOS模拟器和tvOS模拟器应用程序,destinationspecifier支持的key为platform、name、id、OS。如表3所示
表3
name和id键可与平台交互使用,平台是必需的键,OS键是可选的。
在iPad(12.9英寸)iOS 10.2的模拟器上测试iOS方案:
xcodebuild test -scheme iOS -destination "platform=iOS Simulater,name=iPad Pro(12.9-inch),OS=10.2"
在D6FA2C2A-E297-406A-AA22-624B4834ACB2标识的tvOS模拟器上测试tvOS方案:
xcodebuild test -scheme tvOS -destination "platform=tvOS Simulater,id=D6FA2C2A-E297-406A-AA22-624B4834ACB2"
destination选项还允许您在多个目标上运行相同的单元测试。这是通过多次将其添加到xcodebuild测试命令中完成的,如下所示。
在模拟器和iPod touch上测试iOS方案:
xcodebuild test -scheme iOS -destination "platform=iOS Simulater,name=Iphone 6s,OS=10.3" -destination "platform=iOS,name=iPod touch"
注:xcodebuild按顺序运行测试。例如,在上面的例子中,xcodebuild将首先在模拟器中测试iOS,然后在iPod touch上执行它。
如何通过命令行分别实现为测试编译和测试但不编译?
xcodebuild为Xcode的Product>build for>testing特性提供了
操作。你必须指定一个方案来使用它。要使用它,请在终端中执行以下命令: 使用D6FA2C2A-E297-406A-AA22-624B4834ACB2标识的tvOS模拟器在tvOS方案中构建测试和相关目标:
xcodebuild build-for-testing -scheme tvOS -destination "platform=tvOS Simulator,id=D6FA2C2A-E297-406A-AA22-624B4834ACB2"
build-for-testing生成一个xctestrun文件,保存在driverData文件夹中。
xcodebuild为Xcode的Product>Perform action>test without building特性提供了test-without-building命令。test-without-building要求你指定方案或xctestrun文件。
使用方案时的用法:
重要提示:使用方案时,test-without-building在构建根目录(SYMROOT)中搜索捆绑包。因此,在运行此命令之前,请确保构建目标或构建根目录包含要测试的捆绑包。
在模拟器中使用iOS 10.1在iPhone SE上测试iOSApp方案:
xcodebuild test-without-building -workspace MyApplication.xcworkspace -scheme iOSApp -destination "platform=iOS Simulater,name=iPhone SE,OS=10.1"
使用xctestrun文件时的用法:
是指包含测试运行参数的文件的名称。 重要提示:当使用xctestrun文件时,test-without-building将在文件中指定的路径上搜索捆绑包。因此,在运行此命令之前,请确保捆绑包位于指定路径。
使用6DC4A7BA-EA7F-40D6-A327-A0A9DF82F7F6标识的iOS模拟器测试iOSApp_iphonesimulator.xctestron中指定的捆绑包和其他参数:
使用3D95DF14-E8B7-4A05-B65B-78F381B74B22标识的iOS模拟器,测试除iOSApp_iphonemasimulator.xctstrun中指定的iOSAppUITest之外的所有测试:
xcodebuild test-without-building -xctestrun iOSApp_iphonesimulater.xctestrun -destination "platform=iOS Simulator,id=3D95DF14-E8B7-4A05-B65B-78F381B74B22" -skip-testing:iOSAppUITests
注:build-for-testing和test-without-building为持续集成系统提供支持
全球今亮点!xcodebuild命令行工具使用详解
今日热文:欧洲2035禁售燃油车!专家:电动车难完全取代燃油车
环球焦点!Wind11新预览版25300发布:实时字幕对中国用户更加友好!
当前时讯:新日登北京电动自行车不合格“黑榜”:多批电池管理系统有问题
新消息丨不愧是玩无人机的 大疆车载产品矩阵揭秘:高阶辅助只需摄像头
这合理吗?公厕免费取纸先关注微信公众号
快资讯丨pip设置镜像
天天头条:String详解
世界时讯:开心档之Swift 访问控制
计算机导论学习记录(二)
全球微头条丨8个让你收入翻倍的高质量免费网站
重点聚焦!大疆Inspire 3无人机来了:配全画幅X9相机、可录8K视频
全球速递!用了电信5G 浙大完成中国首例5G超远程机器人肝胆手术:跨越近万里
总投资389亿!2023年第一条高铁获批:沿海超级通道定了
全球速讯:消息称腾讯XR团队全线解散:成立不到1年!
鄱阳湖旗舰店麻辣小龙虾官方大促:1.4 斤29.9元到手
深交所向新亚制程发出关注函
全球看点:USRP-2974上安装Ubuntu20.04 + UHD 3.15 + GNU Radio 3.8 过程全记录
VOP 消息仓库演进之路|如何设计一个亿级企业消息平台
【热闻】【管理您的整个软件供应链】上海道宁与Sonatype助力您以更安全的开源更快地交付产品
快看点丨西部数据推出22TB/44TB My Book桌面硬盘 售价高达1500美元
曝光交个朋友欠薪 当事人最新回应:罗永浩正积极联系公司解决
果粉买不?苹果折叠屏会先拿iPad试水!折叠iPhone风险太高了
当前热讯:想要过目不忘?进来学两招、保证不后悔!
世界热资讯!12.4万买帕纳梅拉梦碎 首单车主:保时捷傲慢 100万都不卖
环球视讯!OpenYurt v1.2 亮点速览丨云边流量峰值相比原生 K8s 降低 90%
全球百事通!堆叠柱状图怎么用?速戳!
火山引擎数智平台的这款产品,正在帮助 APP 提升用户活跃度
模型预处理层介绍(3) - IntegerLookup
CC1打不通时的另外一条链CC3
天天通讯!襄阳市消防救援训练与战勤保障大队成立
吴刚谈儿子出演《狂飙》高晓晨:既然选择这条路就要自己走
世界即时:尼泊尔载72人客机失事坠毁 初步调查报告:螺旋桨顺桨失去推力
环球信息:2023年铁路春运圆满收官:累计发送旅客3.48亿人次 增长37.4%
【天天速看料】博主分享特斯拉Model 3P一年使用成本:每公里不到4毛
卖手机壳收入百万:300多元的壳十分畅销
今热点:机器学习-随机森林
【世界独家】docker-compose搭建redis-Cluster集群
环球快资讯丨使用docker部署Python-Flask实现ChatGPT的使用
今日要闻!关于nfs服务启动messages日志中报错-Unable to watch /proc/fs/nfsd/clients: No such file
【世界聚看点】特斯拉不好惹!网红车评人“蔡老板”被判道歉赔10万后:还没饶了他
环球热点评!阿里一面:你做过哪些代码优化?来一个人人可以用的极品案例
天天微头条丨豆瓣仅4分!《三体》动画宣布延播两周:3月4日恢复
全球新消息丨等待16年!好莱坞8.1分末日科幻大片《我是传奇》续集定了:“史皇”出演
【时快讯】罗永浩交个朋友公司被曝欠薪 员工:遭到暴力裁员
天天短讯!二次元真香升级!13代游戏本华硕天选4开启预约
大宇获恐怖电影《咒》IP授权:由《轩辕剑柒》主创张蓁元主导开发
全球观点:02月16日09时广东珠海疫情数据 阳了以后为什么会腰疼?应该怎么办?
树的子结构之先序遍历+二叉树的镜像+对称二叉树
快资讯丨一口气说出 6 种实现延时消息的方案,还有谁不会?!
快看:联发科一夜回到两年前:大家都不换新手机了
弟弟陪姐姐看病:双双确诊甲状腺癌
环球观点:RNG拖欠奖金再上热搜!前俱乐部选手站队喊话还钱
报道:父母高度近视:1岁婴儿近视600度
每日播报!Win10/11后:Linux启动AMD处理器fTPM出现同款间歇性卡顿
tplink路由器怎么重新设置密码?Tplink路由器如何桥接?
mbti哪个脾气最差?哪个mbti最容易抑郁症?
显卡驱动需要更新吗?显卡驱动怎么更新?
项羽墓在哪个地方?项羽墓为什么在山东?
卖惨是什么意思?卖惨的人是什么心理?
保龄球有几个孔?保龄球设备多少钱一套?
长安是唐朝的首都吗?长安是现在的哪个城市?
每日消息!【并查集】连通块中的数量
【热闻】(数据库系统概论|王珊)第三章关系数据库标准语言SQL:习题
Vue 组件之间传递参数
【世界聚看点】关于 layui 弹出一个 DOM 表单的问题
艾斯死的那一集是多少集?艾斯复活是哪一集?
世界最新:马斯克做出重要“交易”:开放北美全部特斯拉超充桩 换取补贴
【全球独家】5月上映!迪士尼《小美人鱼》真人电影新预告发布:特效惊艳
突破事业线
环球观天下!3000元以下唯一的16G内存手机!真我GT Neo5获得天猫京东销量冠军
死磕竞争对手ChatGPT!谷歌要求员工每天花2至4小时测试自家Bard AI
全球球精选!房地产市场支持政策需更精准
安卓导出已安装app的apk
模型预处理层介绍(2) - Hashing
世界信息:男子借朋友12万 1小时后借条变成白纸!网友:防不胜防
顶级富豪果然都惜命 扎克伯格个人安保费一年超1亿元
环球要闻:今起可提前预约个税办税:每天6-22点可在App预约
要闻:接棒年销26万台扫地机器人爆款单品!石头G10S Pure即将正式亮相
天天通讯!吉利中高端新能源系列定名“吉利银河”:每个人都仰望
全球信息:快速搭建一个网关服务,动态路由、鉴权,一网打尽!(含流程图)
全球播报:再有人问你抽象工厂设计模式,把这篇文章丢给他
环球观天下!时间是什么?时间同步是什么?GPS北斗卫星授时又是什么?
世界要闻:《分布式技术原理与算法解析》学习笔记Day13
诺如病毒进入高发期 学校、家庭如何做好预防?一文了解
你怕失业吗?马斯克炮轰人工智能:比核弹头更危险
巴菲特“黄金搭档”芒格盛赞:比亚迪在中国遥遥领先于特斯拉
40岁男子报复10岁小孩连划7车引围观:结局舒适了 网友点赞
《霍格沃茨之遗》更新后PC优化更差!玩家:游戏卡顿问题解决一下
快资讯丨再下一城!百度地图红绿灯倒计时上线兰州:实时读秒
最资讯丨下行5000兆 跟上行同速!谷歌美国推5Gbps光纤:每月850元
全球要闻:读Java实战(第二版)笔记11_语言特性和类库更新
片仔癀珍珠霜的功效
天天热头条丨HEU KMS Activator 28.0.0全能系统数字许可激活工具
CentOS7.9安装K8S高可用集群(三主三从)
Android JetPack~ LiveData (一) 介绍与使用
环球观热点:SDK多项目开发与联调
全球快看:期末复习——线程
环球热点评!5年前就已杀青 周星驰《美人鱼2》进入后期制作
谨慎升级 等了2个月的AMD新驱动疑似翻车:系统崩了