![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
iOS开发技巧
文章平均质量分 95
Zsk_Zane
这个作者很懒,什么都没留下…
展开
-
14个Xcode中常用的快捷键操作
在Xcode 6中有许多快捷键的设定可以使得你的编程工作更为高效,对于在代码文件中快速导航、定位Bug以及新增应用特性都是极有效的。当然,你戳进这篇文章的目的也在于想要快速的对代码文件进行操作,或者是让Xcode的各面板更为适应你小本子的屏幕。在Xcode 6所有快捷键中下列这些是首当其冲应当学习的。在你学习到如何使用之后,也许就再也离不开它们了。Xcode导航快捷键转载 2015-06-25 20:36:34 · 986 阅读 · 0 评论 -
dispatch barrier async/sync异同点
前言我们之前大多数都接触过dispatch_barrier_async,这也是GCD提供的解决数据竞争的一种方式,常称作异步栅栏也常通过pthread_rwlock读写锁,来解决数据竞争问题当然,还有很多方式。本文不再讨论如何使用,具体使用大家自行google,而是简洁的讲下dispatch_barrier_async和dispatch_barrier_sync两者的区别,后者可能被很多人...原创 2019-07-08 22:50:00 · 460 阅读 · 0 评论 -
iOS内存管理方案之一_TaggedPointer
看一个例子@property (nonatomic, copy) NSString *testStr;{ dispatch_queue_t queue = dispatch_get_global_queue(0, 0); for(int i=0;i<10000;i++) { dispatch_async(queue, ^{ self...原创 2019-07-02 22:34:43 · 491 阅读 · 0 评论 -
fishhook学习总结
关于hookOC方法可hook,得益运行时特性,方法调用底层都是msg_send(id,SEL)的形式,这为我们提供了交换IMP的机会函数地址偏移量C函数在编译连接时就确定了函数指针的地址偏移量offset,offset在编译好的可执行文件是固定的,而可执行文件每次被重新装载到内存中时被系统分配的起始地址是不断变化的(lldb用imagelist可以获取运行中的今天静态函数指针地址...原创 2019-07-07 16:22:01 · 1349 阅读 · 0 评论 -
关于fishhook
关于fishhook,最近关注到的几篇文章,mark一下目前只是个人简单的学习了其实现原理及应用场景,真正理解全部其实内容挺多的。之前了解过些逆向,所以看起来还算比较流畅,后续有时间实践后再总结下1、fishhook 的实现原理浅析2、fishhook 使用场景&源码分析3、objc_msgSend Hook 精简学习过程4、FBRetainCycleDete...原创 2019-03-31 21:27:48 · 1107 阅读 · 0 评论 -
iOS首次安装打开APP白屏问题总结
表现最近在负责一个新的APP的开发。最近部门内测,反馈来一些问题,主要表现在首次安装该APP,首次启动,页面白屏没有数据。卸载再装or后台杀死重新打开,就好了原因:先前小范围测试有遇到过,以为是没有允许该APP使用网络请求的原因,当时在设置里面允许了就好了,但那时候同时杀死了APP,再次打开好了。但这不是真正的原因iOS10之后,APP首次安装会有询问【是否允许“xxxAPP”使用数...原创 2018-08-12 22:46:44 · 7853 阅读 · 0 评论 -
Method Swizzling与JSPatch探究(二)
以下笔记整理于2017-03-22 当时作为无埋点预研的学习整理,由于小组是客户端和前端混合的小组,所以下面尽可能以偏简单的文字在组内分享。 第一部分地址为:Method Swizzling与JSPatch探究(一)4、兼容性以hook UIViewController的viewWillAppear的方法为例 4.1 仅method Swizzling, 无JSPatch...原创 2018-08-01 23:12:53 · 452 阅读 · 0 评论 -
About Zsh & Go2Shell & iTerm2
About Zsh & Go2Shell & iTerm2原创 2016-03-15 20:04:06 · 2435 阅读 · 0 评论 -
Xcode真机测试could not find developer disk image解决方法
在使用Xcode进行真机调试的时候,有时根据真机的系统不同,会出现could not find developer disk image 错误,这是由于真机系统过高或者过低,Xcode中没有匹配的配置包文件,我们可以通过这个路径进入配置包的存放目录:/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platfor转载 2015-12-06 14:05:44 · 1002 阅读 · 1 评论 -
Vim命令合集
Vim命令合集 原博地址:链接命令历史以:和/开头的命令都有历史纪录,可以首先键入:或/然后按上下箭头来选择某个历史命令。启动vim在命令行窗口中输入以下命令即可vim 直接启动vimvim filename 打开vim并创建名为filename的文件文件命令打开单个文件vim file同时打开多个文件vim file1 file转载 2015-12-06 11:52:48 · 806 阅读 · 0 评论 -
升级10.11后使用CocoaPod出现-bash: pod: command not found 解决办法
升级10.11后使用CocoaPod出现-bash: pod: command not found 解决办法转载 2015-11-17 22:17:05 · 3628 阅读 · 0 评论 -
iOS界面调试工具 Reveal
Reveal是一个iOS程序界面调试工具。使用Reveal,我们可以在iOS开发时动态地查看和修改应用程序的界面。对于动态或复杂的交互界面,手写UI是不可避免的。通过Reveal,我们可以方便地调试和修改应用界面,免去了每次修改代码后重新启动的痛苦。Reveal简介Reveal (http://revealapp.com/) 是一个界面调试工具。使用Reveal,我们可以转载 2015-07-29 18:24:27 · 1775 阅读 · 0 评论 -
Xcode常用快捷键(分类整理)
Xcode常用快捷键按文件,编辑,调试,窗体,帮助等分类整理转载 2015-06-25 21:00:04 · 1089 阅读 · 0 评论 -
MLeaksFinder学习记录
title: MLeaksFinder学习记录date: 2019-06-30 21:06:01tags:不久之前的学习笔记了,整理下~结合源码看更佳~内存泄露检测Leaks检测leaded memory,Allocations通过MarkGeneration检测abandoned memory(仍然被引用但是没用的内存),操作麻烦,不够及时精准定位MLeaksFinder...原创 2019-06-30 22:06:17 · 877 阅读 · 0 评论