我的iOS王者之路 2019-06-21
iOS 开发 - 多线程陷阱 - iOS - 掘金
前言 随着手机硬件的升级,多线程技术在应用开发中的地位可以说足以媲美UITableView了。然而,多线程技术在提供我们生产力的同时,也不可避免的带来了陷阱,正如著名计算机学者所言:能力越大,bug越大 本文尝试从多个角度聊聊这些陷阱...
iOS 开源库系列 Aspects核心源码分析 - 掘金
简介 Aspects是一个面向切面编程的库。如果想深入了解iOS Runtime中的消息发送机制,Aspects的源码是值得分析的。 项目主页Aspects 整体分析 阅读Aspects的源码需要以下知识作为基础 Objective-C Runtim...
关于内存泄漏,还有哪些是你不知道的? - iOS - 掘金
前言 好久没写东西了,因为最近懒了些,且找不到什么好的题材,所以准备对内存泄漏的问题做一篇整理。内存泄漏问题一直是项目开发中的一大问题,本文力求帮助从事过一段时间工作的iOS开发者快速寻找App中的内存泄漏问题。部分内容比较基础...
关于 iOS 证书,你必须了解的知识 - iOS - 掘金
最新腾讯云技术公开课直播,提问腾讯W3C代表,如何从小白成为技术专家?点击了解活动详情。 作者 |陈泽滨编辑 | 顾乡 从事iOS开发几年,越来越发现,我们的开发者往往聚焦在程序的开发,如何实现一个功能,如何写好一行代码。但对iOS应用开发到发布过程中必不可少...
iOS 设计模式总结 - iOS - 掘金
iOS 设计模式相关资料整理 随着写代码时间变长,业务逻辑越来越复杂,项目就会变的越来越臃肿,业务的拓展、Bug Fix将会越来越难进展。接着进行的就是重构工作,对重构而已,那设计模式、架构、当前的业务情况、将来可能遇到的需求 将是下一步的思考。本文将从设计模...
iOS 开发 - GCD 封装 - iOS - 掘金
前言 很久以前,手机的性能取决于处理器的处理速度。在经过很长的一段时间发展之后,单个处理器的处理效率几乎达到了极限。这时候多核处理器就诞生了,使得手机有了同时执行多个任务的能力。在单核时代,使用多线程技术更多时候是为了避免耗时操作堵塞了主线程。而在多...
iOS 逆向工程 ---OS 工具(Theos) - iOS - 掘金
简介 特点:下载安装简单,Logos语法简单,编译发布简单 注意:另一个越狱工具iOSOpenDev被整合到了Xcode中,Theos并未整合到Xcode...
《Objective-C 高级编程》干货三部曲(一):引用计数篇 - 掘金
总结了Effective Objective-C之后,还想读一本进阶的iOS书,毫不犹豫选中了《Objective-C 高级编程》。 这本书有三个章节,我针对每一章节进行总结并加上适当的扩展分享给大家。可以从下面这张图来看一下这三篇的整体结构: 《Object...
iOS 监控 - DNS 劫持 - iOS - 掘金
前言 DNS劫持指在劫持的网络范围内拦截域名解析的请求,分析请求的域名,把审查范围以外的请求放行,否则返回假的IP地址或者什么都不做使请求失去响应。 DNS劫持的主要表现为看视频,点击之后莫名其妙的跳到了某些广告网站。正常情况下,当...
面试时,你被问到过 TCP/IP 协议吗? - 掘金
前言: 精通 TCP/IP,熟练使用 Socket 进行网路编程。 看到这句话,有没有感到很熟悉呀?相信很多人在投递简历的时候都看到过这条要求,很多人会觉得我们在实际开发中一般用不到这些知识,所以对这些东西不屑一顾. 但是笔者认为想要做出更好的 APP,那...
C - 指针概述 - iOS - 掘金
C语言指针的总结 1. 变量 不同类型的变量在内存中占据不同的字节空间。 内存中存储数据的最小基本单位是字节,每一...
史上最全的 iOS 各种设备信息获取总结 - iOS - 掘金
为了统计用户信息、下发广告,服务器端往往需要手机用户设备及app的各种信息,下面讲述一下各种信息的获取方式: ...
基于MVVM,用于快速搭建设置页,个人信息页的框架 - 掘金
更新记录: 2017.4.23:新增支持数据源完全依赖网络请求的情况。 2017.4.22:新增支持请求新数据后刷新表格。 2017.4.21: 新增CocoaPods支持:pod 'SJStaticTableView', '~>...
闲谈 iOS 的动态化 - iOS - 掘金
这篇文章不聊具体的技术内容,只是蹭蹭今天 iOS 领域最大的一个热点,关于一些应用收到 Apple 警告的问题。 我今天刚起床的时候,iOS 圈就炸锅了,很多开发者纷纷表示收到了 Apple 的警告邮件,邮件内容在网上随处可看,在这里我就不贴了。大体意思是说该...
iOS 视频边下边播 -- 缓存播放数据流 - iOS - 掘金
google搜索“iOS视频变下边播”,有好几篇博客写到了实现方法,其实只有一篇,其他都是copy的,不过他们都是使用的本地代理服务器的方式,原理很简单,但是缺点也很明显,需要自己写一个本地代理服务器或者使用第三方库httpSever。如果使用httpSeve...
AsyncDisplayKit介绍(一)原理和思路 - 掘金
UITableView/UICollectionView的优化一直是iOS应用性能优化重要的一块。即使是iOS10+iPhone7这样的最新软硬件配置,在系统的信息app中滚动,仔细观察的话仍然能感到一定的掉帧现象。对于UI要求苛刻的苹果竟然在如此简单的tab...
使用 LLDB 调试 APP - iOS - 掘金
一、概述 LLDB全称 [ Low Level Debugger ], 默认内置于Xcode中的动态调试工具。标准的 LLDB 提供了一组广泛的命令,旨在与熟悉的 GDB 命令兼容。 除了使用标准配置外,还可以很容易地自定义 LLDB 以满足实际需要。...
iOS App 签名的原理 - iOS - 掘金
iOS 签名机制挺复杂,各种证书,Provisioning Profile,entitlements,CertificateSigningRequest,p12,AppID,概念一堆,也很容易出错,本文尝试从原理出发,一步步推出为什么会有这么多概念,希望能有助...
布局编码的未来 - iOS - 掘金
客户端布局是客户端开发最为基础也是最为重要的编程实践之一,对于一个有着良好技术架构的客户端开发团队来说,布局编码工作占业务开发工作量的80%。显然,对于布局编码进行深入的思考、总结统一最佳实践、提供有力的基础架构支撑,对于提升客户端开发团队的生产力非常关键。 ...
扯淡:大白话聊聊编译那点事儿 - iOS - 掘金
notes:本篇其实是我自己的一篇读书笔记,在看了一些书和博客之后,想用大白话解释一下,然后加强自己的知识记忆,只是想分享一下 很多细节知识点,在大白话后可能讲的很糙,甚至掩盖了很多技术细节,如有不足,希望指正 ...
UIButton 的 imageEdgeInsets 和 titleEdgeInsets 的使用 - iOS - 掘金
这个拖延症真是害人,本来很早之前就该总结的,又拖到了今天。 最近在接手一个老项目的时候,原来的程序员是这样做的 Paste_Image.png ...
sourcetree 冲突解决 (sourcetree 使用进阶与字幕滚动) - iOS - 掘金
开篇 不知不觉已经过年上班一个月了,今天终于抽出时间能写点东西了,哈哈。看了看日期已经近两个月没有更新,不禁感慨时间过得好快。今天主要写一下这段时间教别人几遍的SourceTree的一些用法,省的以后一遍遍再说,嘿嘿。两个月没写...
移动端监控体系之技术原理剖析 - iOS - 掘金
在这样一个注重用户体验的时代,APM 技术快速发展,国内更是百花齐放,最近对各个公司的 APM 产品有一个调研,并在此基础上进行了自己的实践。这里就从 iOS 的角度出发,谈谈自己对移动端 APM 的技术上的理解,并提供相对应的实例。 ...
iOS HOOK 注入与重签名 - 掘金
起因是在虾神的公众号上看到一篇文章 《Pokemon Go 锁区破解》,正好周围几个小伙伴正在玩这游戏,便仔细研究了下所谓的破解锁区。这次锁区其实是 GPS 锁区,游戏开发商为了缩小初始运营范围,在中国范围内都无法正常游戏,也就是服务端通过客户端发送的定位位置...
iOS 大型项目解耦方案有难度?BeeHive 设计优化来帮助 - iOS - 掘金
在2017年在线技术峰会——阿里开源项目最佳实践上,来自天猫的戴鹏带来了BeeHive 关于iOS大型项目解耦方案的分享。他从多人开发的问题介绍了业界的三种模块方案,将传统Init与BeeHive Module 进行了比较,对BeeHive的...
如何优雅地使用 KVO - 掘金
KVO 作为 iOS 中一种强大并且有效的机制,为 iOS 开发者们提供了很多的便利;我们可以使用 KVO 来检测对象属性的变化、快速做出响应,这能够为我们在开发强交互、响应式应用以及实现视图和模型的双向绑定时提供大量的帮助。 但是在大多数情况下,除非遇到不用...
ReactNative 与 iOS 的混编 - iOS - 掘金
ReactNative与iOS的混编 通讯 ReactNative与iOS的通讯这里头很详细 嵌入 iOS原生调用嵌入ReactN...
Objective-C 的 hook 方案 - iOS - 掘金
在没有一个类的实现源码的情况下,想改变其中一个方法的实现,除了继承它重写、和借助类别重名方法暴力抢先之外,还有更加灵活的方法吗?在Objective-C编程中,如何实现hook呢?标题有点大,计划分几篇来总结。 本文主要介绍针对selector...
回馈!轻量 iOS crash 保护方案 - iOS - 掘金
前一段时间看了网易大白健康管理系统的文章,感觉很不错,文中对iOS app常见的几种crash进行了总结和分析,并提出了修复方案。平时开发过程中,笔者也略有积累,对一些潜在的crash也有自己的处理方案。利用业余时间开发完成一个简单轻易的开源库,专门处理几种常...