iosre Blog

iOS 逆向开发,熟悉iphone/tweak、iphone/tool、cydia的repo 制作 、cocoapods的Specs repo制作(using-pod-lib-create、private-cocoapods)

OC_Runtime_system

read this document to gain an understanding of how the Objective-C runtime system works and how you can take advantage of it

前言 runtime Objective-C 是一门基于运行时的编程语言, 1)这意味着所有方法、变量、类之间的link,都会推迟到应用实际运行的最后一刻才会建立。 2)Foundation 框架实现了基于运行时的一个特性: 键值编码 (key-value-coding, KVC) 以及键值观察 (key-value observing, KVO)。 KVC 和...

ReactiveCocoa_MVVM

函数式编程框架 ReactiveCocoa 进阶

前言 介绍ReactiveCocoa及其在MVVM中的用法。 常见操作方法介绍 操作须知 所有的信号(RACSignal)都可以进行操作处理,因为所有操作方法都定义在RACStream.h中,因此只要继承RACStream就有了操作处理方法。 操作思想 运用的是Hook(钩子)思想,Hook是一种用于改变API(应用程序编程接口:方法)执行结果的技术...

ReactiveCocoa

函数式编程框架ReactiveCocoa

前言 对于一个应用来说,绝大部分的时间都是在等待某些事件的发生或响应某些状态的变化, 比如用户的触摸事件、应用进入后台、网络请求成功刷新界面等等,而维护这些状态的变化,常常会使代码变得非常复杂,难以扩展。 iOS 中的 MVVM 可以分为以下三种不同的实践程度,它们分别对应不同的适用场景 MVVM + KVO ...

iOS_Timer

iOS Timer:`dispatch_source_t`、`CADisplayLink`、`NSTimer `

前言 使用场景 登录注册场景的短信倒计时 定时向服务器发起请求(定时任务) iOS定时器的实现方式 iOS中的定时器,大多用于延时执行或重复执行某些动作(codeSnippets) iOS中的定时器:NSTimer、CADisplayLink、GCD 1) NSTimer 使用简单方便,但是应用条件有限。 2) CADis...

about_Xcode

Xcode 的一些基本操作

xcode 的调试功能 Debug Memory Grap 点击 Debug Memory Graph 按钮,检测内测泄漏. connect-via-network-wireless-debugging-working-xcode-9 支持:Xcode 9 及 iOS 11 使用数据线连接 iPhone 到电 Mac,Mac 和 iPhone 必须在同一个局...

IB_DESIGNABLE&IBInspectable

以`设置控件圆角和描边为例`谈谈IB_DESIGNABLE、IBInspectable

前言 常规通过IB设置控件(设置圆角、描边、文本控件添加本地化字符串)的缺点 有一些属性没有暴露在 IB 的设置面板中 IB设置控件的属性的常用方法 从Storyboard关联出属性,然后再对属性进行代码处理。 选中控件,然后在Runtime Attributes框中输入对应的Key...

Objective-C:RunLoop

深入理解RunLoop

前言 Both Cocoa and Core Foundation provide run loop objects to help you configure and manage your thread’s run loop. 苹果利用 RunLoop 实现自动释放池、延迟回调、触摸事件、屏幕刷新等功能的。 ...

avaudiorecorder

avaudiorecorder的averagePowerForChannel:测噪音

前言 分贝的定义如下: iOS测噪音原理 iOS设备测量噪音原理:调用系统麦克风,根据麦克风输入强度计算转化为对应的dB值。 iOS的AVFoundation框架中有一个AVAudioRecorder类专门处理录音操作 code The app’s Info.plist must con...

yy_modelWithJSON & JSONModel

yy_modelWithJSON:json

前言 通过YYModel这个框架安全快速的完成JSON到模型的转换,其中还会介绍到一款好用的插件ESJsonFormat。 JSONModel 这个框架,能够完成模型到JSON的转换 I、YYModel 1、1 首先创建模型类 创建模型类我们可以通过ESJsonFormat这款插件快速完成。 将JSON格式化输出为模...

Xcode_Debug

iOS开发调试Bug的方法

前言 Debug,除了解决bug,还常常是逆向分析的手段之一; 个人习惯的分析方式:运行时API+LLDB +CycriptTricks+ powerful-private-methods 我最喜欢的就是lldb结合私有方法powerful-private-methods以及CycriptTricks进行分析。 howToLocateTheBl...