Xcode 自动化构建问题梳理
一、Xcode
Xcode是mac OS平台上面开发的官方IDE,可以用来开发iOS应用和mac应用。随着iOS系统的升级,Xcode也会更新,而且是强制更新。
Xcode每次版本更新稳定性很差,经常Crash,最近的Xcode 8.3版本经常连接不上手机,需要重启电脑才能恢复。
Xcode和Visual Studio相比,功能和稳定性都相差甚远,在日常开发过程当中,可以毫不客气的说,20%的时间都花在其环境上面,证书配置等。
二、Xcode的编译和命令行脚本编译
发现一个巨坑的问题,一个崭新的工程,打开Xcode编译的时候,Xcode可能同时为所有工程内的代码文件建立索引。
编译过程当中,引入的头文件可能会依赖这个索引,这样带来一个严重的问题是,用纯命令行编译打包的时候,没有建立索引的
过程,因此Xcode工具编译没有问题,但是使用命令行会报错,比如:dailybuildipa 是target, gray是编译配置项
xcodebuild -target dailybuildipa -configuration gray
经常会报错
三、命令行编译找不到生成库的头文件
在我们一个项目工程中,引入了一个子工程,子工程编译生成一个Framework,一定要在编译之后将Framework拷贝到主工程根目录下级一个目录中
并在工程设置中进行引用设置该头文件的位置,这样才能正常引用到
四、命令行编译找不到swift生成的头文件
根据网络上该问题的配置,要配置统一的MODULE NAME, 还有swift 生成的OC .h文件名, 配置完成之后,用Xcode编译没有错误
但是使用命令行的时候,还是会出现找不到头文件的问题
终极解决方案:
手工添加一个头文件,拷贝swift头文件里面所有的内容,放到主工程中,解决编译错误的问题。
这个方案实在太挫,可是不这么做,编译问题解决不了,可以看出来Xcode每次发布,有多少类似的问题,全是坑!!!
Xcode 自动化构建问题梳理的更多相关文章
- 使用jenkins自动化构建android和ios应用
背景 随着业务需求的演进,工程的复杂度会逐渐增加,自动化的践行日益强烈.事实上,工程的自动化一直是我们努力的目标,能有效提高我们的生产效率,最大化减少人为出错的概率,实现一些复杂的业务需求应变.场景如 ...
- Maven_自动化构建和构建环节
[构建过程的几个主要环节] ①清理:删除以前的编译结果,为重新编译做好准备. ②编译:将 Java 源程序编译为字节码文件. ③测试:针对项目中的关键点进行测试,确保项目在迭代开发过程中关键点的正确性 ...
- 手把手0基础项目实战(一)——教你搭建一套可自动化构建的微服务框架(SpringBoot+Dubbo+Docker+Jenkins)...
原文:手把手0基础项目实战(一)--教你搭建一套可自动化构建的微服务框架(SpringBoot+Dubbo+Docker+Jenkins)... 本文你将学到什么? 本文将以原理+实战的方式,首先对& ...
- SpringCloud+Docker+Jenkins+GitLab+Maven实现自动化构建与部署实战
1.前言与初衷 本文章会涉及Docker常见命令基础知识点结合不同场景实操一起使用. 本文章会涉及结合工作过程中部署不同环境服务器的项目案例场景为初心进行实际细讲. 本文章主要讲述Docker.Jen ...
- 我是如何进行Spring MVC文档翻译项目的环境搭建、项目管理及自动化构建工作的
感兴趣的同学可以关注这个翻译项目 . 我的博客原文 和 我的Github 前段时间翻译的Spring MVC官方文档完成了第一稿,相关的文章和仓库可以点击以下链接.这篇文章,主要是总结一下这个翻译项目 ...
- 使用Jenkins配置自动化构建
持续集成是个简单重复劳动,人来操作费时费力,使用自动化构建工具完成是最好不过的了. 为了实现这个要求,我选择了Jenkins. 从http://mirrors.jenkins-ci.org/windo ...
- gulp自动化构建工具
gulp 自动化构建工具,实时监控.代码合并.压缩... http://www.gulpjs.com.cn/ 中文网 http://gulpjs.com/plugins/ 英文网 ...
- 前端自动化构建工具gulp的使用总结
前端自动化构建工具gulp的使用总结 博主最近偶的空闲,在此对gulp的使用做一个总结,让小伙伴知道如何合理的使用gulp以及gulp的使用技巧. 谈到gulp,有人可能就会想到另外一个构建工具gru ...
- gulp自动化构建
最近正在使用gulp去帮我自动化构建一些技术块,感觉很爽,所以把gulp操作步骤给写笔记,记录下来... 首先了解什么是gulp? 我的理解是一个工具并且自动化的,能帮你把一些前端技术的语法转换成当前 ...
- 近期总结:generator-web,前端自动化构建的解决方案
本文结合最近的工作经验,总结出一个较简洁的前端自动化构建方案,主张css和js的模块化,并通过grunt的自动化构建,有效地解决css合并,js合并和图片优化等问题,对于提高前端性能和项目代码质量有一 ...
随机推荐
- native react 代码智能提示
背景 在vscode 中,虽然有插件可以达到代码提示的效果但是不是很嗨. 所以加上这些: 全局安装typings: npm install typings -g 1 安装react和react-nat ...
- 重新整理数据结构与算法(c#)——算法套马踏棋算法[三十三]
前言 马踏棋盘 概念在这,不做过多复述. https://baike.sogou.com/v58959803.htm?fromTitle=马踏棋盘 思路是这样子的,一匹马有上面几种做法,然后进行尝试, ...
- Lattice Crosslink开发简介
选择lattice的Crosslink器件,大多是因为它功耗比较低.价格便宜,开发也比较简单,相对来说更容易上手.大部分用在手机屏,摄像头模组和平板方面. Crosslink的开发工具是Diamond ...
- 10个常用的JS工具库,80%的项目都在用
高手区别于普通人的重要一点是,他们善于利用工具,把更多的时间留给了规划和思考.写代码也是同样的道理,工具用好了,你就有更多的时间来规划架构和攻克难点.今天就给大家分享一下当前最流行的 js 工具库,如 ...
- Git中 fork, clone,branch
一.是什么 fork fork,英语翻译过来就是叉子,动词形式则是分叉,如下图,从左到右,一条直线变成多条直线 转到git仓库中,fork则可以代表分叉.克隆 出一个(仓库的)新拷贝 包含了原来的仓库 ...
- flutter 移动应用程序中打开URL
url_launcher: ^6.2.5 在Flutter中,url_launcher库是用于在移动应用程序中打开URL的常用工具.它允许你通过调用系统的浏览器或其他应用程序来打开指定的URL,比 ...
- 初接触:从创建工程到导出gerber(学习Altium Designer)
学习Altium Designer Altium Designer的工程文件后缀为.PrjPcb,主要包含Source Documents和Libraries.Source Documents里面有S ...
- 力扣289(java)-生命游戏(中等)
题目: 根据 百度百科 , 生命游戏 ,简称为 生命 ,是英国数学家约翰·何顿·康威在 1970 年发明的细胞自动机. 给定一个包含 m × n 个格子的面板,每一个格子都可以看成是一个细胞.每个细胞 ...
- 牛客网-SQL专项训练10
①SQL语句中与Having子句同时使用的语句是:group by 解析: SQL语法中,having需要与group by联用,起到过滤group by后数据的作用. ②下列说法错误的是?C 解析: ...
- Kubernetes 稳定性保障手册 -- 极简版
简介: Kubernetes 在生产环境中的采用率越来越高,复杂度越来越高,由此带来的稳定性保障的挑战越来越大. Kubernetes 在生产环境中的采用率越来越高,复杂度越来越高,由此带来的稳定性保 ...