- 博客(8)
- 收藏
- 关注
原创 podspec 简单用法
Pod::Spec.new do |s| s.name = 'Box s.version = "1.0.0" s.license = { :type => 'xxx.com', } s.homepage = 'homepage' s.authors = { 'xxx' => 'author na
2017-07-30 15:30:16 235
转载 被误解的MVC和被神化的MVVM
被误解的 MVCMVC 的历史MVC,全称是 Model View Controller,是模型 (model)-视图 (view)-控制器 (controller) 的缩写。它表示的是一种常见的客户端软件开发框架。MVC 的概念最早出现在二十世纪八十年代的 施乐帕克 实验室中(对,就是那个发明图形用户界面和鼠标的实验室),当时施乐帕克为 Smalltalk 发明了这种软件
2017-07-14 11:05:14 291
转载 xcode反汇编调试iOS模拟器程序(四)自动断点应用之NSNotificationCenter
知道怎么查看后,先看看有什么实际应用,拿NSNotificationCenter来做实践吧。首先在某个容易进入的地方加断点,并停在那,例如main函数。在gdb或lldb输入命令,手工添加断点。如下图:输入的命令如下:[plain] view plain copyb -[NSNotificationCenter addObserver:s
2017-07-06 21:22:46 255
转载 xcode反汇编调试iOS模拟器程序(三)查看Objective-C函数与参数
在Objective-C函数的入口处(第一行)加断点,可用esp指针来探查参数。以esp为基址,往后的偏移分别是:0:函数执行完毕后的返回地址(不是返回值的地址哦)4:对象实例的指针,即self指针8:selector,实际是一个char数组型的字符串,即char*12:(如果有)第一个参数…(前一个参数的基址+前一个参数所占的字节数):(如果有)第n个参数由此
2017-07-06 21:22:04 578
转载 xcode反汇编调试iOS模拟器程序(二)看懂反汇编
这里当然不会从零开始讲汇编代码了,零基础的话可以看看 王爽 写的书《汇编语言》,请自己找度娘或谷哥要了。其实只为了iOS调试的话并不需要学多少,懂几个命令和明白寄存器的作用就行。建议遇到不懂的时候再搜索看看。这一节主要讲讲书上没有的东西。在xcode中看到的汇编语法不是熟悉的intel格式,而是叫AT&T汇编。基本上只要懂intel,at&t会很快上手。两者的区别请参考这篇文章:
2017-07-06 21:13:45 291
转载 xcode反汇编调试iOS模拟器程序(一)查看反汇编
iOS模拟器程序的实质就是Mac OS X程序,只不过它需要以模拟器为载体来运行显示。故它的反汇编代码指令都是x86 CPU的,不是真机上的arm指令。研究模拟器程序的反汇编有两个目的,或叫做好处:一是为了研究深入到ios系统的类库,你可以较容易地发现私有API,以及看到系统的实现。二是,很直接地,模拟器调试比真机快。而且,相信大多数人更懂x86指令,各类高校教材的汇编教程都不是a
2017-07-06 20:52:11 494
转载 IMP到底是什么?
IMP到底是什么?IMP的定义从objc.h头文件中可以直接找到[1]:typedef void (*IMP)(void /* id, SEL, ... */ ); 也就是typedef void (*IMP)(void); 也就是参数为空, 返回值为空的函数指针.IMP能直接调用么?定义一个类:@interface TestClass :
2017-07-06 17:01:51 6043
转载 selector到底是什么
selector到底是什么?看objc的源码[1], 知道真相的我眼泪掉下来:static SEL sel_alloc(const char *name, bool copy){ selLock.assertWriting(); return (SEL)(copy ? strdup(name) : name); }const char *sel_getNa
2017-07-06 17:01:23 1032
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人