Semantic Versioning
参与项目有了10年左右的阶段, 前前后后也基础不少项目. 但是在版本上,大家的管理并没有一个统一的规范, 前段时间同事给我推荐了, Semantic Versioning, 中文: 语义化版本, 就是对软件的版本号设计了一套标准定义. 其实软件版本号的定义,各自公司都有自己情况,所以大概上有所不同. 这里就简单解释下这个内容. 版本格式:主版本号.次版本号.修订号,版本号递增规则如下: ...
参与项目有了10年左右的阶段, 前前后后也基础不少项目. 但是在版本上,大家的管理并没有一个统一的规范, 前段时间同事给我推荐了, Semantic Versioning, 中文: 语义化版本, 就是对软件的版本号设计了一套标准定义. 其实软件版本号的定义,各自公司都有自己情况,所以大概上有所不同. 这里就简单解释下这个内容. 版本格式:主版本号.次版本号.修订号,版本号递增规则如下: ...
2020 开始将工作的中的一些项目迁移到Swift,整理一些迁移中遇见的问题和解答。 Objective-C And Swift 混合编程的方式 官方说明 Importing Objective-C into Swift Importing Swift into Objective-C Cocoa Touch Framework does not support Bridge Hea...
整理一些日常使用的 post_install 工具。 为了方便观察日志,可以通过使用下面的命令输出到指令文件 # > 表示输出到文件 podInstall.log 中,如果文件不存在会自动创建文件 pod install > podInstall.log 常用Xcode 配置打印 post_install do |installer| installer.pod...
背景 日常使用中偶尔下载一些正版原来来测试用用,所以用了一些手段解决一些问题。 以下内容仅用于测试,建议大家购买正版软件使用。 开启 问题1 下载某个软件,然后打开后提示,“is damaged and can’t be opened. You should move it to the Trash.” 问题原因是啥呢? This is actually a macOS Gate...
Background 查了 Xcodeproj 和 CocoaPods 的文档之后我都没有得到很好的解答,所以我就想用 xcodeproj 本身的接口去处理这件事情。 Resolve 由于 Podfile 本质上是 Ruby 脚本,所以这里我通常会使用 Ruby 的 debugger 去操作,通过 Ruby 强大的自省能力,在 debugger 里进行尝试然后找到我们需要的接口,开始之...
Background When click Xcode project and upgrade the project config for old Xcode version, like manage auto release. you will see this error on your message list. clang: error: -fobjc-weak is not...
背景 Flutter 是谷歌的移动UI框架,可以快速在iOS和Android上构建高质量的原生用户界面。语言是用Dart编写。 UI UI层上,以Flutter 框架封装一层自己的UI结构,单个View成为Widget,View以状态为区分,分为stateless和stateful。 框架 Flutter的框架,官方给了一些设计方案,与Flutter 的背景,整个框架基于状态模式,...
背景 最近阅读MacOS 的历史,然后介绍到 Apple 最长的一段迁移, 64Bit 的支持,从中提到Objective-C 这样的面向对象语言(OOP)在系统层面(或者软件层面时)面临的一个巨大考验,FBI。 FBI FBI 全称 Fragile binary interface problem, 中文解释,弹性/韧性 解决易碎二进制接口问题。 例子 Fragile binar...
这个功能大家都使用过了,可以大家在使用的时候,只能看到图的结构,但是并不能看到的代码符号上的堆栈。 现在告诉大家一个开启的办法。 打开Schema 的设置,点击 Diagnositcs,看到Loggin 并勾选,选择 All Allocation and Free Historey。 重新运行看看,是否有你想要的呢?
千呼万唤最终在新项目中接受了RAC的代码,很早之前做个一个项目,也是大量使用RAC,也没有太多考虑RAC的副作用有多大,如今总算是在大项目中去使用了,可是到了性能优化的层面,发现RAC带来的性能还是值得 大家去重新思考。 RAC 的内部实现和代码架构, 等各种网上说的有点就不说了,这里主要谈谈碰见的问题。 大致有几点: 循环引用。 KVO中的多级KayPaths 代码消耗...