我的iOS王者之路 2019-06-21
没有单元测试,何谈重构 - iOS - 掘金
最近科技公司流年不利,那边与整个硅谷唱反调的川普逆袭上台了,这边特斯拉被评为美国最不可靠汽车品牌,据报道是因为特斯拉为Model X增加了过于复杂的功能(高科技多也怪我咯),如前门采用电动开启方式,中排座椅实现了电动移动,所有这些功能整合在一个平台上,导致可靠...
关于 iOS App 版本控制以及强制更新 - iOS - 掘金
公司刚开始立项一个项目时候,往往项目方向变化比较大,所以项目框架也会经常变更。所以也就存在App的版本控制以及强制更新这个需求了。 自从苹果从15年开始禁止在App中出现“版本检查”以及“版本更新”这个功能后,App的更新就交给苹果来做了。具体资料可以参考...
【开源】阿里巴巴 iOS App 模块化编程的框架实现方案 - iOS - 掘金
iOS - 从零开始完成页面切换形变动画 - iOS - 掘金
前言 某天我接到了UI发给我的两张图: 需求图.png 看到图的时候我一脸懵逼,显然我需要做一个页面切换的指示动画。老实说,从大三暑假开始做iOS开发也一年有余了,但是遇到复杂动画总是唯恐避之不及,只做过一些简单的位移动画。大脑中的舒适区总是让我下意识避开...
JSPatch 热修复 - iOS - 掘金
今天写了一个jspatch的小demo,每一步都做了截图,如果不了解JSPatch,大家可自行百度。JSPatch首页。 一、背景需求介绍 为什么我们需要一个热修复(hot-fix)技术? ...
iOS 更加优雅便捷的 UIAlertView/UIAlertController 封装使用 - iOS - 掘金
前言: 之前做过一套关于UIAlertView/UIAlertController的混合封装,详见: iOS (封装)一句话调用系统的alertView和...
iOS 自动签名打包 (xcodebuild) - iOS - 掘金
iOS自动打包主要用xcodebuild命令, 在终端输入xcodebuild --help可以查看xcodebuild的参数。 xcodebuild具体语法: ...
对 CAEmitterLayer,CAEmitterCell 做雪花效果的封装 - iOS - 掘金
说明 在使用CAEmitterLayer,CAEmitterCell做雪花飘落效果的时候,遇到了几个坑: ...
iOS线性布局 - 掘金
前言 首先写这篇文章之前祝大家周末愉快,然后自我介绍一下,我叫吴海超(WHC)在iOS领域有丰富的开发架构经验Github以后我也会以文章的形式分享具有实战意义的文章给大家,希望能够给大家有所帮助。 主题 这期我想给大家讲讲iOS中的线性布局,我想做过Andr...
iOS 线性布局 - iOS - 掘金
UIStackview...
iOS A/B Test 方案探索 - iOS - 掘金
引子 公元2016年末,2017年初,某做旅行产品的互联网公司内,产品经理疯狂的提 A/BTest 需求,以至于该司程序猿谈AB色变,邪恶的产品经理令程序猿们闻风丧胆,苦不堪言…咳咳,扯远了。 近期团队做了很多 AB Test 的业务需求,在这...
23 种设计模式 iOS 实现 - iOS - 掘金
常用的 23 种设计模式 不管是 .NET 中的 C# 语言,还是 Java、VB.NET、C++ 或 Objective-C 语言,面向对...
Facebook 的 iOS 内存泄漏监测自动化实践 - iOS - 掘金
原文链接 [需翻墙]:Automatic memory leak detection on iOS 内存是移动设备上的共享资源,如果一个 App 无法正确地进行内存管理的话,将会导致内存消耗殆尽,闪退以及性能的严重下降。 Facebook 的 iOS 版本的许...
AXAnimationChain - iOS 链式动画库 - iOS - 掘金
Summary AXAnimationChain是一个链式动画库,可以用来轻松的创建基于CAAnimation的链式动画。链的组合方式有两种,一种是组合,另一种则是链接,通过以上两种方式创建的动画,既可以同时进行,也可以按时间先后进行,可以使用较少的代码创建出...
iOS 最基础的主题切换 - iOS - 掘金
很多app中都有夜间模式或者换肤功能,一直没有尝试过,今天写了一个简单的demo。 主要是自定义控制器,封装控件,完成导航栏,TabBar 文字颜色的切换,以及自定义Label 的文字大小,及颜色的切换。 ...
iOS 中 HTTPS 证书验证浅析 - iOS - 掘金
导语 在 WWDC 16 中,Apple 表示, 从 2017年1月1日起(最新消息, 实施时间已延期),所有新提交的 App 使用系统组件进行的 HTTP 网络请求都需要是 HTTPS 加密的,否则会导致请求失败而无法通过审核。 精神哥对 HTTPS 的验证...
自定义按钮之:文字图片位置随意定制 - iOS - 掘金
可能有些看到这篇文章的朋友会觉得很不屑:“按钮谁不会自定义?还需要看你的?” 也确实,按钮是我们项目中最常见的控件之一,天天在使用。对于不同类型的按钮,我们是否有更加简便的方法来实现需求是我们需要做的。这里我提出自己的两种方法,您可以对你自己平时自定义按钮的...
iOS runtime 之消息转发 - iOS - 掘金
Objective-C 是一门动态语言,它的动态性体现在它将很多编译和链接时做的事推延到运行时处理,而这一机制主要依赖系统提供的 runtime 库。利用 runtime 库,我们能在运行时做很多事,例如 objc_setAssociatedObject 动态...
iOS runtime 之 Class 和 MetaClass - iOS - 掘金
Objective-C 是 C 的超集,提供了面向对象的机制,而面向对象思想里有两个重要的概念类和实例。那么 Objective-C 里类的结构是怎样的呢?我们来一起学习记录下。 首先了解几个概念, id 在 objc.h 中我们可以看到id的定义 /// A...
iOS runtime 之 Category - iOS - 掘金
我们知道 Objective - C 中 Category 主要有以下作用: 不改变原有类的实现对类添加新的接口 将类的接口按功能模块分类,模块更清晰 声明私有方法 我们还知道,即使没有引入 Category 的头文件,Category 的方法也会被添加进...
使用 python 找出 iOS 项目中没有使用到的图片资源 - iOS - 掘金
随着版本迭代的进行,App 的体积不断膨胀,项目中未使用到的图片资源也不断积累,这会导致 App 的下载成本变高,特别是在使用流量的情况下,因此清理掉项目中不再使用的图片资源是很有必要的。我用 python 实现了下,原理很简单,就是 find + grep ...
iOS 组件化方案 - iOS - 掘金
最近在思考团队扩张及项目数量增加的情况下,如何持续保障团队高效产出的问题,很自然的想到了组件化这个话题。重翻了前段时间iOS开发圈关于组件化的讨论,这里做下梳理和自己的思考。 组件化的驱动力 在开始讨论组件化技术方案之前,可以先思考下驱动项目组件化背后的原...
iOS 开发之玩转蓝牙 - iOS - 掘金
之前详细谈过不少关于HTTP协议的知识点,TCP/IP也通过tcpdump做过简单的介绍,但网络协议的本质其实是连接,设备或者端之间连接的方式有多种,常见的http或者基于tcp的socket只是森林一叶,还有些不那么常见的协议比如蓝牙。适当脑洞,也能玩出不少...
2016,坚持写 iOS 技术博客总结 - iOS - 掘金
今天是2016年最后一个工作日,给自己做篇写文章的总结,同时也把过去一年的文章分门别类下,方便大家阅读。 年初的时候,定了两个小目标: GitHub上赚1000颗星星 坚持写技术博客 现在看来,总算没以工作忙为借口,把这两个都给实现了,尤其...
iOS 开发 | 如何为网络接口编写单元测试 - iOS - 掘金
纯工具类APP已经沦为炮灰,移动APP几乎都是基于网络的,因此写单元测试,网络是一个绕不开的话题。实际iOS开发中,凡是基于http的网络连接, AFNetworking 几乎已成为一个标准库,比如发起一个post请求,会创建AFHTTPSessionMana...
iOS 检查更新 - iOS - 掘金
1、从苹果服务器上查询已发布的最新应用版本号 请求的URL地址: http://itunes.apple.com/looku...你的应用程序的ID 返回的数据为json格式(包括开发者ID,...
iOS 扩展新特性之 Widget 开发 (Today) 及网络请求部分 - iOS - 掘金
最近在研究iOS的一些扩展,在找资料的过程中,发现说的大多不够详尽,抱着学习总结的目的,想把自己研究学习的过程记录一下,有说的不对的地方欢迎大家批评指正,互相学习。 Widget主要作用是显示一些重要的及时性信息,或者提供一些重...