首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

手把手教你利用Jenkins持续集成iOS项目

如果一个公司的推广团队好不容易砸了重金推广了一个APP,好不容易有了一些用户,由于一次线上的bug导致一批的用户使用纷纷出现闪退bug,轻则,很可能前期推广砸的钱都白费了,重则,口碑不好,未来也提升不起用户量来了...同时 Jenkins 能实施监控集成存在的错误,提供详细的日志文件和提醒功能,还能用图表的形式形象地展示项目构建的趋势和稳定性。...三. iOS自动化打包命令——xcodebuild + xcrun 和 fastlane - gym 命令 日常开发,打包是最后上线不可缺少的环节,如果需要把工程打包成 ipa 文件,通常的做法就是...1. xcodebuild + xcrun命令 Xcode我们开发者提供了一套构建打包的命令,就是xcodebuild 和xcrun命令。...sigh:生成下载开发商店的配置文件 produce:利用命令行在iTunes Connect创建一个新的iOS app cert:自动创建iOS证书 pilot:最好的终端管理测试和建立的文件 boarding

1.9K30

手把手教你利用Jenkins持续集成iOS项目

如果一个公司的推广团队好不容易砸了重金推广了一个APP,好不容易有了一些用户,由于一次线上的bug导致一批的用户使用纷纷出现闪退bug,轻则,很可能前期推广砸的钱都白费了,重则,口碑不好,未来也提升不起用户量来了...同时 Jenkins 能实施监控集成存在的错误,提供详细的日志文件和提醒功能,还能用图表的形式形象地展示项目构建的趋势和稳定性。...三. iOS自动化打包命令——xcodebuild + xcrun 和 fastlane - gym 命令 日常开发,打包是最后上线不可缺少的环节,如果需要把工程打包成 ipa 文件,通常的做法就是...1. xcodebuild + xcrun命令 Xcode我们开发者提供了一套构建打包的命令,就是xcodebuild 和xcrun命令。...sigh:生成下载开发商店的配置文件 produce:利用命令行在iTunes Connect创建一个新的iOS app cert:自动创建iOS证书 pilot:最好的终端管理测试和建立的文件 boarding

1.5K31
您找到你想要的搜索结果了吗?
是的
没有找到

iOS 静态代码扫描之工具调研

作者:黄雪兰 团队:腾讯移动品质中心TMQ 为了进一步加强测试质量,同时探索测试左移同步的实践,iOS同步助手尝试接入静态代码扫描工具。希望通过不同的途径提前发现日常测试难发现的问题。...cd到项目代码所在目录:$ cd /path infer-- xcodebuild -target QQPimPro -configuration Developer (7)项目代码所在目录下生成结果文件夹...(7)xcpretty生成的json文件/代码目录/build/reports下,名字compilation_db.json,和oclint默认生成的文件命名和路径均不同,因此需要移至代码根目录并重命名为...notfound 使用oclint执行最后一步生成.html文件时出现该错误,最后排查到是开始没有clean xcodebuild,因此进行扫描之前先执行这一步。...四、部分结果分析 1、缺陷类 (1)无法执行到的代码 (2)if和else分支的代码一样 (3)废弃代码 已经走到return,后面的代码不会再执行: 2、误报类 (1)复制粘贴错误 代码存在"

5.5K10

【Jenkins】Jenkins集成IOS全自动打包专题

任务超时配置如下图: 2.4 权限修改 2.4.1递归修改所有权限 命令 : sudo chmod -R 777 tools_command/ 解释 : -R 递归遍历tools_command文件夹..., chmod 755修改权限 2.5 Jenkins配置远程节点(解决Linux上iOS打包)         iOS打包无法Linux上进行,因为Jenkins的Xcode插件需要调用Xcode,...3.1.4 code sign failed with exit code 1         此问题为项目工程证书设置问题,需要设置发布证书来打包。...xcodebuild的时候,就像没我们第一次使用xcode签名一样,会迸出keychain的提示,问你是否允许xcode使用keychain里的证书来签名,点了一次始终允许以后下次便不会再提示,直接在命令行使用...通过Jenkins 自动构建ipa http://www.jianshu.com/p/ce36997919b4 (Good)jenkins xcodebuild命令行打包iOS项目问题汇总 http:/

91340

iOS组件化(一)—Cocopods创建私有库

三、创建Git Hub远程仓库 如果是公司的项目,需要维同事搭建一个Git Lab仓库并创建项目。这里用Git Hub代替。Git Hub上创建一个AaronSwift的项目。...build - NOTE | [iOS] xcodebuild: note: Constructing build description - NOTE | [iOS] xcodebuild...上面例子我们设置的0.1.0 * s.summary : 简介,这个简介你需要修改一下,对项目的简短介绍,不修改的话会有警告。...我们也可以浏览一下其它的目录,就能找到很多后缀podspec的文件。 pod install命令就是根据要安装的库的名字在这些目录遍历,找到对应的配置文件后,解析里面的地址和配置进行下载。...十二、解释pod repo push 库名 库配置文件(后缀podspec) --allow-warnings 这个命令就是发布版本的命令,将版本push到远程,我们~/.cocoapods/repos

2.3K30

iOS 自动化测试踩坑(一): 技术方案、环境配置与落地实践

插入真机,Xcode 上选择真机,Singing 添加 AppleID 作为 account,生成一个本地的 Provisioning Profile 和设备上的证书 踩坑:你可能会遇到如下的错误信息...这是因为你的 bundle identifier 不唯一导致,将其修改自定义一个唯一的 bundle identifier 再尝试即可 Xcode 中选中 Build,Success 后在手机我们可以看到...根据 WebDriverAgent 官网提供的步骤,将参数替换为我们真机的参数后真机上尝试build 。...设置好之后又会出现报错,如下: 这个报错信息就和我们之前提到的一样,bundle indentifler 不唯一,保险起见,这里将项目中所有的 Targets 都进行了修改 修改好之后我们再次 build.../js/app.js 报错 2)执行时候报 xcodebuild failed with code 65 错误 花了很大的功夫和篇幅,记录 iOS 自动化的准备工作,踩了很多坑,坑不能白踩

1.3K10

iOS 自动打包脚本

如果使用 Xcode 打包,在打包期间我们无法改剩余的 Bug 或进行其他模块的开发的,那这个时候我们能干什么呢? 哈哈哈,当然是去接杯咖啡或者泡杯茶了,不然还能干啥?...自动打包 好了,言归正传,其实这个打包过程我们可以脱离 Xcode,改用xcodebuild命令进行打包,相关核心命令包括: xcodebuild clean xcodebuild archive xcodebuild...iOS自动化打包流程 这套体系搭建完成之后,对于开发人员而言打包就是修改 Bug,push 代码了。 上面只是一条简单的自动化打包流程,其实中间涉及的很多点没有展开,特别打包数量上了一定量级之后。.../package.sh , 则先附加权限,命令如下:chmod 777 package.sh # 2、请根据自己项目的情况选择使用 workspace 还是 project 形式,目前默认为 workspace...,因为返回结果带回来的有中文显示乱码,无法利用jq解析 ## 如需上传到fim,可查阅 https://www.betaqr.com/docs/publish 文档 ### 如需脚本执行过程给用户提供选择

84130

xcodebuild:从命令行部署 iOS 应用程序

在这篇文章我们将看到如何构建,测试,存档和部署示例 iOS 应用程序到 iTunes Connect。 先决条件 为了理解命令行部署过程,我们应该提前设置以下内容。...macOS 与钥匙串的分发证书 我们将介绍 iOS 应用程序的循环,从分析 app 到使用 xcodebuild 部署到 iTunes Connect 。...Analysing 分析 构建和测试 iOS 应用程序之前要做的一件明智的事情是对源代码执行静态分析。该 xcodebuild 有清理和分析的源代码,任何常见的语法错误的能力。...clean analyze Build 构建 我们可以使用 xcodebuild'build'动作构建一个 iOS 应用程序,我们iOS 应用程序生成派生数据。...运行而构建 我们可以使用简单的命令简单地构建我们的应用程序以模拟器内运行 $ xcodebuild -scheme CLI -workspace CLI.xcworkspace/ build 这将在

2.2K20

Carthage的安装和使用

CoaoaPods是一套整体解决方案,我们Podfile中指定好我们需要的第三方库。然后CocoaPods就会进行下载,集成,然后修改或者创建我们项目的workspace文件,这一系列整体操作。...它只是根据我们描述文件配置的第三方库,将他们下载到本地,然后用xcodebuild构建成framework文件。然后由我们自己将这些库集成到项目中。...了,随着时间推移,这个也不会是问题; ③ 无法Xcode里定位到源码:如果你写代码过程,想跳转到一个第三方库去看具体的实现,这是无法办到的,Carthage的配置只能让你看到一个库的头文件...终端运行 brew install carthage 安装之后,查看版本 carthage version Carthage的使用 进入项目所在文件夹 cd ~/路径/项目文件夹 创建一个空的Cartfile...: carthage update 当命令执行完毕,Cartfile文件同级别的文件夹生成一个名为 Carthage文件夹和Cartfile.resolved文件。

1.4K80

iOS开发——Carthage安装和使用教程

Git) 建立添加Cartfile(配置文件)文件 通过终端或者文本编辑器 进入到项目所在的文件夹建立一个 空的Cartfile文件 现在只支持GitHub库(GitHub.com和GitHub企业...Cartfile.resolved (需要提交到 Git) 执行 carthage update 命令后会在根目录创建一个 Cartfile.resolved 文件,这个文件是生成后的依赖关系,不能修改...自动生成的Carthage目录 (不需要提交到 Git) Carthage文件夹用来存放: carthage checkout 从git拉取的依赖库源文件(Checkouts) carthage build...手动拖拽Build的所有依赖.framework到你的工程,本人的建议当然是工程根目录建立"Vendor"类似文件夹,创建"Vendor" folder/group到工程,所有第三方 .Framework...)/Carthage/Build/iOS Git 忽略不需要提交到版本库的文件与文件夹 则修改 .gitignore 文件,增加忽略 Carthage 文件夹行了: #Carthage Carthage

1.9K20

IOS 代码扫描从放弃到入门

需要在找一个免费的插件,github找到两个项目 插件一 https://github.com/Backelite/sonar-objective-c 这个插件在三年前没有修改了,使用中发现有些扫描规则并没有.../Demo/src 进入项目根目录下,然后输入“sonar-scanner”命令,执行代码分析 命令行方式: 命令设置了参数 sonar-scanner -Dsonar.host.url=http...-e忽略扫描和-i是指定扫描路径 oclint-json-compilation-database -e pods -i build 虽然使用上面的命令扫描,不报错误,但是平台中扫描的bug数是0...问题四:mysql存储问题 2、infer + sonar-swift 基于上面失败方案一度想放弃,但是无意中社区,看到了好未来开源的iOS代码扫描的帖子"我们开源了一款SonarQube iOS...扫描iOS命令: infer -- xcodebuild -workspace "test.xcworkspace" -scheme "scheme" 扫描出的结果会在工程目录下的infer-out文件

3K20

软件测试|iOS 自动化测试——技术方案、环境配置

图片插入真机,Xcode 上选择真机,Singing 添加 AppleID 作为 account,生成一个本地的 Provisioning Profile 和设备上的证书 图片踩坑:你可能会遇到如下的错误信息图片图片这是因为你的...bundle identifier 不唯一导致,将其修改自定义一个唯一的 bundle identifier 再尝试即可 图片Xcode 中选中 Build,Success 后在手机我们可以看到...根据 WebDriverAgent 官网提供的步骤,将参数替换为我们真机的参数后真机上尝试build 。...图片 设置好之后又会出现报错,如下: 图片这个报错信息就和我们之前提到的一样,bundle indentifler 不唯一,保险起见,这里将项目中所有的 Targets 都进行了修改修改好之后我们再次.../js/app.js 报错图片图片图片 2)执行时候报 xcodebuild failed with code 65 错误 图片图片花了很大的功夫和篇幅,记录 iOS 自动化的准备工作,踩了很多坑,

1.5K10

iOS应用构建与部署小结

命令行编译 为了更好地了解编译过程,我们可以脱离Xcode IDE,命令行编译该项目: 首先,项目目录查看Schemes: $ xcodebuild -list -project HelloWorld.xcodeproj...值得一提的是,生成的app并不是在当前项目目录下, 而是HOME/Library/Developer/Xcode/DerivedData/PROJECT-xxxx/{...}...Usage: simctl install 例如,我们要想在模拟器启动上节编译好的HelloWorld.app,可以用以下命令: # 查看当前设备列表,选择一个设备UDID...其他 除了上述方式,还有一些开源脚本可以帮助我们安装部署自己的应用,如ios-deploy, 只要连接USB输入以下命令即可安装: $ ios-deploy -b HelloWorld.ipa [......其中很多地方尽可能的使用命令行去运行, 这有利于后续自动化的操作,也有利于我们理解各个选项所使用到的参数作用。 为了降低工作量,我们特地没有越狱以及没有开发者账号的情况下完成上述操作。

1.9K40

IOS自动化—将WDA打包ipa批量安装驱动

必要条件 Mac电脑,OS版本12.4及以上(低于这个版本无法安装Xcode14,装不了Xcode14就打包不了IOS16的驱动) IOS设备手机,IOS版本11.0及以上 Xcode14.0及以上...公司的IOS开发者账号(如果是个人账号,只能用七天就要重新打包,这就失去了打包的意义了) 为何做这个 之前写的IOS自动化教程,我都是采用的Mac电脑连接ios设备,使用Xcode一个个进行打包,...报错解决一:path does not exist 这里报错的错误日志提醒也非常明显,大意就是说没有找到你的Xcode.app这个路径下的/Contents/Developer这些文件,所以我们要指定一下...并且日志出了解决办法: sudo xcode-select --switch path/to/Xcode.app 用这个命令进行指定你所要使用的Xcode。...2、按步骤执行命令 第一步 执行如下命令前,需要cd到第一步我们保存的xcode项目文件目录下 $ xcodebuild build-for-testing -scheme WebDriverAgentRunner

1.1K30

如何通过静态分析提高iOS代码质量

有时候build信息并不能填入项目代码我们可以在编译的log日志里查看。...xcodebuild是xcode内置的编译命令我们可以用它来编译打包我们iOS项目,接下来介绍的Infer和OCLint都是基于xcodebuild的编译产物进行分析的,所以有必要简单介绍一下它。...特别注意的就是,如果没有文件被编译,那么也没有任何文件会被分析。 Infer 把中间文件存储结果文件夹,一般来说,这个文件夹会在运行 infer 的目录下创建,命名是 infer-out/。...错误除了会显示标准输出之外,还会输出到文件 infer-out/bug.txt 我们过滤这些问题,仅显示最有可能存在的。...结果文件夹(infer-out),同时还有一个 csv 文件 report.csv,这里包含了所有 Infer 产生的信息,包括:错误,警告和信息。

2.1K30

Xcode编译疾如风系列-1.分析编译耗时

开发 iOS 的小伙伴都知道,随着项目的不断庞大,Xcode 项目的编译时间也会越来越长。如果不加管控,会严重影响到我们的开发效率。 全量编译下,我去,30 分钟过去了,拉个屎还能抽根烟......同样的,如果我们xcodebuild也可以获取构建时长概要: xcodebuild -showBuildTimingSummary XCLogParser XCLogParser[1] 是一个命令行工具...我们项目编译后,执行脚本: xclogparser parse --project Kickstarter --reporter html 便可以build/xclogparser/reports.../时间戳目录下看到输出了大量的html,直接点击里面的index.html便可在浏览器查看具体的编译信息。...我们可以将脚本执行在自动构建 CI 流程,打完包后可以查看 CI 机器下生成的编译信息。CI 机器起一个静态服务即可。

4.7K40

持续集成之jenkins打包iOS

iPhoneDistribution:开头的所使用的证书,然后选中后点击右键选择显示简介,弹出的窗口中找到常用名称,将其复制填入即可;或者可以命令输入security find-identity...终端输入以下命令安装Command Line Tools: xcode-select--install 配置Apple Development Teams:系统管理-->系统配置 7、创建苹果App...方式一用Xcode插件打包: 添加构建步骤-> Xcode基本信息 这里Target请于Xcode项目中Target的名字对应 Clean before build设置YES Configuration...build settings Target:就是我们项目中建立的Target 如果不清楚有哪些Target的情况下可以到xcodeproj或xcworkspace的目录下运行如下命令 xcodebuild...只要Xcode工程里选择了项目就不需要重新设置证书了。jenkins会自动找到这个证书,只要在build setting 里设置的是正常的。 并且xcode 里能正常编译。

1K20

通过Xcode命令行编译

,如Clang的,这是安装在/ usr/ bin 下载命令行工具无法使用在Xcode的OS X10.9。...OS X10.9,Xcode预设的下载窗格将不会支持下载命令行工具,使用下列任何一个方式到你的系统上安装命令行的工具: 使用Xcode 如果您计算机上安装Xcode,那么就没有必要安装它们。...xcrun就是这样垫片之一,它可以让你找到或者命令行内运行的Xcode任何工具。使用它可从命令行调用在Xcode的任何工具。...如图7所示,没有任何的方法,xcodebuild将会使用默认的build命令。 通过configuration文件编译你的工程,运行下面的命令。...Release === App有很多的设置选项,我怎么xcodebuild设置一个默认的设置 Xcode的Info的面板设置一个弹出的菜单,当你编译Target这里设置xcodebuild编译的默认选项

5.9K40

iOS 应用体积缩小一半的秘籍:妥善运用动态框架

本文将以简单的开源教程项目 EmergeMotors 例,带大家从存在问题的 Before/ 文件夹入手,以结对编程的形式不断改进架构,直至与 After/ 完全吻合。...构建 XCFramework 我们可以使用 xcodebuild 命令行工具来创建二进制框架。...# Build framework for iOS xcodebuild -project .....应用程序启动的预主阶段,dyId 会将必要的框架链接至目标,确保所有可执行代码及资产均可访问。 我各 builds 之间进行了快速性能分析,想要评估具体有何影响,最终得出了漂亮的焰形统计图。...本示例,二者几乎没有统计学意义上的显著变化,意味着额外的动态链接对于启动时间的影响可以忽略不计。但我强烈建议大家分析自己的应用程序,明确性能影响之后再做权衡。

12210
领券