资讯专栏INFORMATION COLUMN

iOS 进阶必读

lansheng228 / 992人阅读

摘要:广州线下活动八面玲珑的淘宝出品月日,由淘宝主办的地下铁沙龙在广州广电平云广场举办。此次邀请的嘉宾在方面有所实践探索,分别来自腾讯淘宝公司。从这次入院考试开始,就成功入院了。一常见类信号类。然而实际使用过程中,还是会遇到一些问题,比如的问题。

初探 CALayer 属性

一直觉得一个 view 就一个 layer,到今天才发现不是这样子的。

Xcode8调试黑科技:Memory Graph实战解决闭包引用循环问题

Xcode8的调试技能又增加了一个黑科技:Memory Graph。简单的说就是可以在运行时将内存中的对象生成一张图。在现场的开发者听到了这个消息时响起了雷鸣般的掌声!我们来看看前方记者发回的现场照片: 妈妈说再也不用担心引用循环啦!除非你是个瞎子。那么通过一个实际项目来练习一…

iOS 崩溃堆栈信息的符号化解析

我们知道,开发者在使用 Xcode 开发调试 App 时,一旦遇到崩溃问题,开发者可以直接使用 Xcode 的调试器定位分析崩溃堆栈。但如果 App 发布上线,用户的手机发生了崩溃,我们就只能通过分析系统记录的崩溃日志来定位问题,在这份崩溃日志文件中,会指出 App 出错的函数内存地址,关键的问题,崩溃日志中只有地址,类似 0x2312e92f 这种,这看起来岂不是相当头疼,那怎么办呢?

   幸好有 dSYM 文件的存在,它是帮助苦逼的码农有效定位 bug 问题的重要途径。崩溃堆栈里的函数地址可以借助 dSYM 文件来找到具体的文件名、函数名和行号信息的。这里就简单介绍下通过 dSYM 文件如何分析崩溃堆栈信息


神经病院Objective-C Runtime住院第二天—消息发送与转发

前言 现在越来越多的app都使用了JSPatch实现app热修复,而JSPatch 能做到通过 JS 调用和改写 OC 方法最根本的原因是 Objective-C 是动态语言,OC 上所有方法的调用/类的生成都通过 Objective-C Runtime 在运行时进行,我们可以…

Objc 对象的今生今世

前言 在面向对象编程中,我们每天都在创建对象,用对象描述着整个世界,然而对象是如何从孕育到销毁的呢? 目录 1.孕育对象 2.对象的出生 3.对象的成长 4.对象的销毁 5.总结 一.孕育对象 每天开发我们都在alloc对象,而alloc方法做了些什么呢? + (id)allo…

iOS 如何实现Aspect Oriented Programming (下)

(接上篇) 五. Aspects hook过程详解 先看看函数调用栈的情况 - aspect_prepareClassAndHookSelector(self, selector, error); ├── aspect_hookClass(self, error) │ ├──a…

iOS 中的 HotFix 方案总结详解

相信HotFix大家应该都很熟悉了,今天主要对于最近调研的一些方案做一些总结。iOS中的HotFix方案大致可以分为四种:
WaxPatch(Alibaba)
Dynamic Framework(Apple)
React Native(Facebook)
JSPatch(Tencent)

RxSwift 学习指导索引

可能你在学习 RxSwift,或者是要去学习 RxSwift,亦或者是已经熟练到应用实际项目中。不管怎么样,我将在这里以我的学习方式来和大家一起学习 RxSwift。

[[广州线下活动] 八面玲珑的 Node.js 淘宝 FED 出品](https://juejin.im/entry/583e6...

12 月 3 日,由淘宝主办的 Node 地下铁沙龙在广州广电平云广场举办。此次邀请的嘉宾在 Node.js 方面有所实践探索,分别来自 UC、腾讯、淘宝公司。沙龙的演讲内容有:刘欣 ---Thrift 下的 Node.js 跨语言异构;九十 ---Node.js 服务前端数据接口的演进;卢涛南 --- TypeScript 在 Node.js 中的应用;姚穗斌 --- 边际开发成本最小化的直出框架。感兴趣的小伙伴快来报名参加吧!

通过 Moya+RxSwift+Argo 完成网络请求

最近在新项目中尝试使用 Moya+RxSwift+Argo 进行网络请求和解析,感觉还阔以,再来给大家安利一波。

iOS 如何实现Aspect Oriented Programming (上)

前言 在“Runtime病院”住院的后两天,分析了一下AOP的实现原理。“出院”后,发现Aspect库还没有详细分析,于是就有了这篇文章,今天就来说说iOS 是如何实现Aspect Oriented Programming。 目录 1.Aspect Oriented Progr…

深入研究Block捕获外部变量和__block实现原理

前言 Blocks是C语言的扩充功能,而Apple 在OS X Snow Leopard 和 iOS 4中引入了这个新功能“Blocks”。从那开始,Block就出现在iOS和Mac系统各个API中,并被大家广泛使用。一句话来形容Blocks,带有自动变量(局部变量)的匿名函数…

iOS 逆向入门实践 — 逆向微信,伪装定位 (一)

这次实践的最终目的,是要实现 “自由设定微信定位” 的功能,这个功能的操作流程应该是:
打开 APP,输入一对经纬度数据
进入微信,APP 自动读取输入的经纬度数据,作为使用 “附近的人” 时的数据来源

神经病院 Objective-C Runtime 出院第三天——如何正确使用 Runtime

前言 到了今天终于要 "出院" 了,要总结一下住院几天的收获,谈谈 Runtime 到底能为我们开发带来些什么好处。当然它也是把双刃剑,使用不当的话,也会成为开发路上的一个大坑。 目录 1.Runtime 的优点 (1) 实现多继承 Multiple Inheritance (2) Met…

ReactiveCocoa 中 RACSignal 所有变换操作底层实现分析(上)

前言 在上篇文章中,详细分析了RACSignal是创建和订阅的详细过程。看到底层源码实现后,就能发现,ReactiveCocoa这个FRP的库,实现响应式(RP)是用Block闭包来实现的,而并不是用KVC / KVO实现的。 在ReactiveCocoa整个库中,RACSig…

神经病院Objective-C Runtime入院第一天—isa和Class

前言 我第一次开始重视Objective-C Runtime是从2014年11月1日,@唐巧老师在微博上发的一条微博开始。 这是sunnyxx在线下的一次分享会。会上还给了4道题目。 这4道题以我当时的知识,很多就不确定,拿不准。从这次入院考试开始,就成功入院了。后来这两年对R…

iOSAppHook - 专注于非越狱环境下 iOS 应用逆向研究

提到非越狱环境下 App Hook 大家早就已经耳熟能详,已经有很多大神研究过,这方面相关的资料和文章也能搜到很多。我最早是看到乌云知识库上蒸米的文章才对这方面有所了解,当时就想试试,整个过程看似简单(大神总是一笔带过),然而当自己真正开始动手时一路上遇到各种问题(一脸懵逼),在 iOSRE 论坛上也看到大家遇到的各种问题,其实阻扰大家的主要是一些环境的搭建以及相关配置没设置好,结果导致 dylib 编译过程各种错误,重签名不成功,各种闪退等。所以本文里的每一步操作都会很详细的交代,确保大家都能操作成功。

iOS ReactiveCocoa 最全常用API整理(可做为手册查询)

本文适合有一定RAC基础的童鞋做不时的查询,所以本文不做详细解释。 一、常见类 1、RACSiganl 信号类。 RACEmptySignal :空信号,用来实现 RACSignal 的 +empty 方法; RACReturnSignal :一元信号,用来实现 RACSign…

深入研究Block用weakSelf、strongSelf、@weakify、@strongify解决循环引用

前言 在上篇中,仔细分析了一下Block的实现原理以及__block捕获外部变量的原理。然而实际使用Block过程中,还是会遇到一些问题,比如Retain Circle的问题。 目录 1.Retain Circle的由来 2.__weak、__strong的实现原理 3.wea…

iOS 5分钟集成热修复(JSPatch)

前言 掘金3.5.2上线后发现了一个bug,我司iOS小哥上线前不小心改动了一部分代码,导致脏数据被缓存,取缓存的时候会导致项目崩溃...(苹果的审核越来越不认真了....好吧,我不推锅了,让我跪着写完这篇博客).. 回归正题: 在iOS中有很多种热修复方案,在这里我就不一一介…

ReactiveCocoa 中 RACSignal 是如何发送信号的

前言 ReactiveCocoa是一个(第一个?)将函数响应式编程范例带入Objective-C的开源库。ReactiveCocoa是由Josh Abernathy和Justin Spahr-Summers 两位大神在对GitHub for Mac的开发过程中编写的。Justi…

iOS (OC) 开发之个人调试技巧分享

iOS (OC) 开发之个人调试技巧分享

Xcode 8 Instruments 工具集的变化与趋势

介绍 instruments

ReactiveCocoa 中 RACSignal 所有变换操作底层实现分析(中)

前言 紧接着上篇的源码实现分析,继续分析RACSignal的变换操作的底层实现。 目录 1.过滤操作 2.组合操作 一. 过滤操作 过滤操作也属于一种变换,根据过滤条件,过滤出符合条件的值。变换出来的新的信号是原信号的一个子集。 1. filter: (在父类RACStream…

ReactiveCocoa 中 RACSignal 冷信号和热信号底层实现分析

前言 关于ReactiveCocoa v2.5中冷信号和热信号的文章中,最著名的就是美团的臧成威老师写的3篇冷热信号的文章: 细说ReactiveCocoa的冷信号与热信号(一)细说ReactiveCocoa的冷信号与热信号(二):为什么要区分冷热信号细说ReactiveCoc…

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/16870.html

相关文章

  • iOS 进阶必读 - 收藏集 - 掘金

    摘要:深入研究捕获外部变量和实现原理掘金前言是语言的扩充功能,而在和中引入了这个新功能。是由和两位大神在对的开发过程中中所有变换操作底层实现分析上掘金前言在上篇文章中,详细分析了是创建和订阅的详细过程。 深入研究Block捕获外部变量和__block实现原理 - 掘金 前言 Blocks是C语言的扩充功能,而Apple 在OS X Snow Leopard 和 iOS 4中引入了这个新功能B...

    sf_wangchong 评论0 收藏0
  • iOS 进阶必读 - 收藏集 - 掘金

    摘要:深入研究捕获外部变量和实现原理掘金前言是语言的扩充功能,而在和中引入了这个新功能。是由和两位大神在对的开发过程中中所有变换操作底层实现分析上掘金前言在上篇文章中,详细分析了是创建和订阅的详细过程。 深入研究Block捕获外部变量和__block实现原理 - 掘金前言 Blocks是C语言的扩充功能,而Apple 在OS X Snow Leopard 和 iOS 4中引入了这个新功能Bl...

    szysky 评论0 收藏0
  • iOS 进阶必读

    摘要:广州线下活动八面玲珑的淘宝出品月日,由淘宝主办的地下铁沙龙在广州广电平云广场举办。此次邀请的嘉宾在方面有所实践探索,分别来自腾讯淘宝公司。从这次入院考试开始,就成功入院了。一常见类信号类。然而实际使用过程中,还是会遇到一些问题,比如的问题。 初探 CALayer 属性 一直觉得一个 view 就一个 layer,到今天才发现不是这样子的。 Xcode8调试黑科技:Memory Grap...

    waruqi 评论0 收藏0
  • 那些年,我的前端/Java后端书单

    摘要:全文为这些年,我曾阅读深入理解过或正在阅读学习即将阅读的一些优秀经典前端后端书籍。当然,如果您喜欢这篇文章,可以动手点点赞或者收藏。 全文为这些年,我曾阅读、深入理解过(或正在阅读学习、即将阅读)的一些优秀经典前端/Java后端书籍。全文为纯原创,且将持续更新,未经许可,不得进行转载。当然,如果您喜欢这篇文章,可以动手点点赞或者收藏。 基础 基础书籍 进阶 进阶阶段,深入学习的书...

    fxp 评论0 收藏0
  • 那些年,我的前端/Java后端书单

    摘要:全文为这些年,我曾阅读深入理解过或正在阅读学习即将阅读的一些优秀经典前端后端书籍。当然,如果您喜欢这篇文章,可以动手点点赞或者收藏。 全文为这些年,我曾阅读、深入理解过(或正在阅读学习、即将阅读)的一些优秀经典前端/Java后端书籍。全文为纯原创,且将持续更新,未经许可,不得进行转载。当然,如果您喜欢这篇文章,可以动手点点赞或者收藏。 基础 基础书籍 进阶 进阶阶段,深入学习的书...

    Tecode 评论0 收藏0

发表评论

0条评论

lansheng228

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<