
iOS进阶
文章平均质量分 64
Zsk_Zane
这个作者很懒,什么都没留下…
展开
-
关于“新奥创”的一些文章
关于“新奥创”的一些文章新奥创:多APP场景端到端的技术体系探索与突破一个多业务、多状态、多操作的交易链路,闲鱼架构如何演进?淘宝如何打造承载亿级流量的首页?...原创 2019-11-30 17:17:42 · 1368 阅读 · 0 评论 -
iOS签名机制
iOS签名机制写于前写一个系列本文概要About Code SigningBenefits of Code SigningiOS签名机制从automatic signing入手开发App到安装的流程从AppStore下载AppProvisioning Profile概念补充参考文档写于前写一个系列对称加密&非对称加密&混合加密单向散列函数&数字签名&amp原创 2018-11-13 18:22:28 · 1689 阅读 · 0 评论 -
对称加密&非对称加密&混合加密
对称加密&非对称加密&混合加密写于前iOS中常在哪些场景应用到写一个系列本文概要对称加密(Symmetric Cryptography)非对称加密(ASymmetric Cryptography)混合加密(Hybrid Cryptography)总结写于前iOS中常在哪些场景应用到支付密码、验证码相关的业务场景之前个人维护的一个数字证书模块,与密码学相关知识也紧密相关,同原创 2018-11-09 10:23:13 · 3789 阅读 · 0 评论 -
Cordova源码学习(二)-Native回调JS
本文只对JS与Native之间的交互进行源码阅读。至于Cordova如何开发插件等等,请参考Cordova官方文档:https://cordova.apache.org/docs/en/latest/Native回调JS流程图解析Native Native方法执行完,通过sendPluginResult开始,回调结果给jssendPluginResu...原创 2018-09-07 15:40:02 · 984 阅读 · 0 评论 -
Cordova源码学习(一)-JS调用Native
本文只对JS与Native之间的交互进行源码阅读。至于Cordova如何开发插件等等,请参考Cordova官方文档:https://cordova.apache.org/docs/en/latest/JS调用Native流程图流程图 解析index.html 调用 入参分别为 successCallback:成功回调failCallback:失败...原创 2018-09-06 18:31:36 · 1026 阅读 · 0 评论 -
小程序分享至群群消息小结(包括分享到App)
以下是18年3月底在公司内部的分享,虽然小程序对于分享回调有所限制(下文会说明),但是整体方案依然是可行的去年做过小程序群成员相关的信息展示需求,后续常有同事来问细节。 因此把去年做完后的梳理的小结发出来供参考。 微信文档现在相较去年也有所更新完善,但大致流程不变。小程序分享获得群信息小结官方文档有,但是较分散,所以对这块知识作一个小结,能快速了解小程序分享至群获...原创 2018-09-15 22:24:52 · 4966 阅读 · 0 评论 -
iOS首次安装打开APP白屏问题总结
表现最近在负责一个新的APP的开发。最近部门内测,反馈来一些问题,主要表现在首次安装该APP,首次启动,页面白屏没有数据。卸载再装or后台杀死重新打开,就好了原因:先前小范围测试有遇到过,以为是没有允许该APP使用网络请求的原因,当时在设置里面允许了就好了,但那时候同时杀死了APP,再次打开好了。但这不是真正的原因iOS10之后,APP首次安装会有询问【是否允许“xxxAPP”使用数...原创 2018-08-12 22:46:44 · 8309 阅读 · 0 评论 -
Method Swizzling与JSPatch探究(一)
以下笔记整理于2017-03-22 当时作为无埋点预研的学习整理,由于小组是客户端和前端混合的小组,所以下面尽可能以偏简单的文字在组内分享。用最简单的文字,来简单说明Method Swizzling和JSPatch hook selector的原理。并试验当两者共用时,兼容情况。(无埋点预研)如果看此文之前,对这两者有些概念那就最好啦目录:1、从[receiver messag...原创 2018-08-01 23:09:12 · 268 阅读 · 0 评论 -
Xcode 代码提示功能失效
阅读目录一、简约版二、命令版 三、顽疾版 注:附:前言: 以前好像很少碰到Xcode中代码提示出问题的情况,最近经常遇到这个问题。没有了Xcode的智能提示,发现我已完全不会写代码了。 本来想吐槽下万恶的baidu,鉴于百度前端时间的各种(贴吧、竞价排名)风波刚过,人坚不催。在BD试了各种解决办法,清理缓存,删除索引,无果下,最终来到Google发转载 2016-09-05 20:30:46 · 16909 阅读 · 2 评论 -
单向散列函数&数字签名&数字证书
写于前iOS中常在哪些场景应用到支付密码、验证码相关的业务场景之前个人维护的一个数字证书模块,与密码学相关知识也紧密相关,同时数字证书在我们的业务场景中,是作为指纹支付的基础iOS的签名机制。常常跟着网上的教程一顿操作,然而却不知道原理是什么。个人觉得,知道原理后续遇到问题也更能快速定位哪个环节的问题,也能学习优秀的技术方案是如何设计的写一个系列对称加密&非对称加密...原创 2018-11-12 12:14:32 · 2100 阅读 · 0 评论 -
关于fishhook
关于fishhook,最近关注到的几篇文章,mark一下目前只是个人简单的学习了其实现原理及应用场景,真正理解全部其实内容挺多的。之前了解过些逆向,所以看起来还算比较流畅,后续有时间实践后再总结下1、fishhook 的实现原理浅析2、fishhook 使用场景&源码分析3、objc_msgSend Hook 精简学习过程4、FBRetainCycleDete...原创 2019-03-31 21:27:48 · 1170 阅读 · 0 评论 -
白话isEqual和hash的关系
出发点:isEqual和hash的关系看到这个点,上网搜一下,首先出现的就是这篇文iOS开发 之 不要告诉我你真的懂isEqual与hash!第一次看完了,确实出现了一些问号以及看了评论区的提问:isEqual和hash都重写了来得出这两者的关系?hash都有默认的实现了,为什么要重写?等等问题本文,简单的做了下梳理,补充了些个人的白话理解,更通俗易懂些==和isEqual==...原创 2019-09-08 18:39:01 · 1058 阅读 · 0 评论 -
CocoaPods深入一点
本文梳理了如下一些问题关于Cocoapods–verbose,–no-repo-updatepod install --verbose的过程podfile 和 podspec看点CocoaPods源码Podfile.lock 和 Manifest.lockpod install 和 update的区别那些常见的目录&指令期望用更简洁的话,做一些整理关于Coco...原创 2019-09-08 18:36:57 · 1322 阅读 · 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 · 928 阅读 · 0 评论 -
dispatch barrier async/sync异同点
前言我们之前大多数都接触过dispatch_barrier_async,这也是GCD提供的解决数据竞争的一种方式,常称作异步栅栏也常通过pthread_rwlock读写锁,来解决数据竞争问题当然,还有很多方式。本文不再讨论如何使用,具体使用大家自行google,而是简洁的讲下dispatch_barrier_async和dispatch_barrier_sync两者的区别,后者可能被很多人...原创 2019-07-08 22:50:00 · 540 阅读 · 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 · 532 阅读 · 0 评论 -
iOS逆向的一点总结
这里写自定义目录标题一张图一些常用的工具一张图之前在http://www.iosre.com/ 上看到的,我觉得整个学习思路非常清晰:一些常用的工具砸壳:越狱市场/clutch/dumpdecryted加壳:对可执行文件的编码进行改变/加密/压缩,达到保护程序代码的目的。App Store下载的ipa包是会加壳的脱壳/砸壳:将未加密的可执行文件还原出来头文件:class-d...原创 2019-06-26 22:17:05 · 529 阅读 · 0 评论 -
fishhook学习总结
关于hookOC方法可hook,得益运行时特性,方法调用底层都是msg_send(id,SEL)的形式,这为我们提供了交换IMP的机会函数地址偏移量C函数在编译连接时就确定了函数指针的地址偏移量offset,offset在编译好的可执行文件是固定的,而可执行文件每次被重新装载到内存中时被系统分配的起始地址是不断变化的(lldb用imagelist可以获取运行中的今天静态函数指针地址...原创 2019-07-07 16:22:01 · 1435 阅读 · 0 评论 -
使用Xcode Instruments Leak解决内存泄漏问题
写于前:有很多写Leak教程的文章,当时在使用的时候一直卡在Step4,不能定位memory Leaks代码的位置,最后找到这篇文章的Step5说到dSYM文件。其他文章都没提及。--->Xcode编译项目后,我们会看到一个同名的 dSYM 文件,dSYM 是保存 16 进制函数地址映射信息的中转文件iOS 5.0之后apple引入了Xcode编译器特性ARC(Au转载 2016-07-24 21:34:47 · 9467 阅读 · 1 评论 -
iOS单元测试/Kiwi/TDD/Code Coverage
单元测试学习相关文章原创 2016-07-24 21:29:27 · 1859 阅读 · 0 评论 -
iOS的MD5/SHA1加密算法的实现
MD5/SHA1加密算法的实现 for iOS转载 2016-07-24 21:12:04 · 1446 阅读 · 0 评论 -
KVO实现机制 & 如何自己动手实现 KVO
本文是 Objective-C Runtime 系列文章的第三篇。如果你对 Objective-C Runtime 还不是很了解,可以先去看看前两篇文章:Objective-C RuntimeMethod Swizzling 和 AOP 实践本篇会探究 KVO (Key-Value Observing) 实现机制,并去实践一番 - 利用 Runtime 自己动手去实现 KVO 。K转载 2015-09-03 15:20:00 · 3280 阅读 · 0 评论 -
iOS访问相册及拍照保存的实现实例
iOS访问相册及拍照保存的实现实例实现效果: 1、点击访问相册按钮,可以访问系统相册,选择以后返回在imageView中显示 2、点击拍照,访问摄像头,实现以后保存在相册中,返回在imageView中显示原创 2015-08-05 20:49:18 · 2752 阅读 · 0 评论 -
UIPickerView的简单应用——省份/城市选择的实现
UIPickerView的简单应用——省份/城市选择的实现原创 2015-08-05 20:52:43 · 4982 阅读 · 0 评论 -
NSOprationQueue 与 GCD 的区别与选用
GCD 技术是一个轻量的,底层实现隐藏的神奇技术,我们能够通过GCD和block轻松实现多线程编程,有时候,GCD相比其他系统提供的多线程方法更加有效,当然,有时候GCD不是最佳选择,另一个多线程编程的技术 NSOprationQueue 让我们能够将后台线程以队列方式依序执行,并提供更多操作的入口,这和 GCD 的实现有些类似。这种类似不是一个巧合,在早期,MacOX 与 iOS 的转载 2015-08-17 22:40:04 · 1311 阅读 · 0 评论 -
iOS 浅赋值、深复制、完全复制的知识点梳理验证(附加归档解档)
浅复制(shallow copy)、深复制(one-level-deep copy)、完全复制(true copy)知识点梳理验证及归档解档知识原创 2015-08-15 08:33:45 · 1923 阅读 · 0 评论 -
优化UITableView性能
在iOS应用中,UITableView应该是使用率最高的视图之一了。iPod、时钟、日历、备忘录、Mail、天气、照片、电话、短信、Safari、App Store、iTunes、Game Center⋯几乎所有自带的应用中都能看到它的身影,可见它的重要性。然而在使用第三方应用时,却经常遇到性能上的问题,普遍表现在滚动时比较卡,特别是table cell中包含图片的情况时。实际上只要针对性转载 2015-08-27 22:52:21 · 934 阅读 · 0 评论 -
iOS 集合的深复制与浅复制
概念对象拷贝有两种方式:浅复制和深复制。顾名思义,浅复制,并不拷贝对象本身,仅仅是拷贝指向对象的指针;深复制是直接拷贝整个对象内存到另一块内存中。一图以蔽之再简单些说:浅复制就是指针拷贝;深复制就是内容拷贝。集合的浅复制 (shallow copy)集合的浅复制有非常多种方法。当你进行浅复制时,会向原始的集合发送retain消息,引用计数转载 2015-08-13 19:54:59 · 965 阅读 · 0 评论 -
iOS音乐后台播放及锁屏信息显示
实现音乐的后台播放,以及播放时,可以控制其暂停,下一首等操作,以及锁屏图片歌曲名等的显示原创 2015-08-06 17:52:49 · 12002 阅读 · 8 评论 -
iOS访问相册以及拍照保存至相册的实现
iOS访问相册及拍照保存的实现实例实现效果: 1、点击访问相册按钮,可以访问系统相册,选择以后返回在imageView中显示 2、点击拍照,访问摄像头,实现以后保存在相册中,返回在imageView中显示原创 2015-08-06 18:42:59 · 2812 阅读 · 0 评论 -
ScrollView的contentSize属性 与 AutoLayout(Masonry布局)
About ScrollView contentSize 与 AutoLayout(Masonry布局)原创 2016-03-15 20:18:52 · 8668 阅读 · 0 评论 -
iOS开发之浅谈MVVM的架构设计与团队协作
原文地址:链接今天写这篇博客是想达到抛砖引玉的作用,想与大家交流一下思想,相互学习,博文中有不足之处还望大家批评指正。本篇博客的内容沿袭以往博客的风格,也是以干货为主,偶尔扯扯咸蛋(哈哈~不好好工作又开始发表博客啦~)。 由于本人项目经验有限,关于架构设计方面的东西理解有限,我个人对MVVM的理解主要是借鉴于之前的用过的MVC的Web框架~在学校的时候用过ThinkPHP转载 2015-12-05 21:13:28 · 1273 阅读 · 0 评论 -
[iOS]MVVM-框架介绍
我于 2011 年在 500px 找到自己的第一份 iOS 开发工作。虽然我已经在大学里做了好几年 iOS 外包开发,但这才是我的一个真正的 iOS 开发工作。我被作为唯一的 iOS 开发者被招聘去实现拥有漂亮设计的 iPad 应用。在短短七周里,我们就发布了 1.0 并持续迭代,添加了更多特性,但从本质上,代码库也变得更加复杂了。有时我感觉就像我不知道在做什么。虽然我知道自己的设计模式—转载 2015-12-05 21:11:46 · 859 阅读 · 0 评论 -
iOS 9适配系列教程:URL scheme
之前的项目中用到了友盟组件。在Xcode7下出现错误需要进行适配URL scheme在iOS9中,如果使用URL scheme必须在"Info.plist"中将你要在外部调用的URL scheme列为白名单,否则不能使用。key叫做LSApplicationQueriesSchemes ,键值内容是LSApplicationQueriesSchemesu转载 2015-10-26 19:57:27 · 1935 阅读 · 0 评论 -
AFNetworking 3.0迁移指南
AFNetworking是一款在OS X和iOS下都令人喜爱的网络库。为了迎合iOS新版本的升级, AFNetworking在3.0版本中删除了基于 NSURLConnection API的所有支持。如果你的项目以前使用过这些API,建议您立即升级到基于 NSURLSession 的API的AFNetworking的版本。本指南将引导您完成这个过程。本指南是为了引导使用AFNetwor转载 2015-10-23 09:51:44 · 924 阅读 · 0 评论 -
PCH的作用&Xcode6为什么干掉PCH(Precompile Prefix Header)&如何添加PCH文件
一直在用xcode6开发,但项目都是在xcode5上创建的,所以一直没注意到,xcode6竟然干掉pch文件了。为什么xcode6没有自动创建pch文件呢?简单地看:我们在写项目的时候,大部分宏定义,头文件导入都在这里,Xcode6去掉Precompile Prefix Header的主要原因可能在于Prefix Header大大的增加了Build的时间。没有了Prefix Hea转载 2015-08-21 21:18:17 · 1784 阅读 · 0 评论 -
SDWebImage手动清除缓存的方法
1.找到SDImageCache类2.计算缓存大小的方法:[objc] view plaincopy- (NSUInteger)getSize { __block NSUInteger size = 0; dispatch_sync(self.ioQueue, ^{ NSDirecto转载 2015-08-21 21:15:42 · 961 阅读 · 0 评论 -
SDWebImage使用详解及流程分析
这个类库提供一个UIImageView类别以支持加载来自网络的远程图片。具有缓存管理、异步下载、同一个URL下载次数控制和优化等特征。使用示范的代码:UITableView使用UIImageView+WebCache类(基本应用,UIImageView的一个category)前提#import导入UIImageView+WebCache.h文件,然后在tableview的cellFor转载 2015-08-21 21:12:01 · 1649 阅读 · 0 评论 -
用@property声明的NSString(或NSArray,NSDictionary)经常使用copy关键字,为什么?如果改用strong关键字,可能造成什么问题?
用@property声明的NSString(或NSArray,NSDictionary)经常使用copy关键字,为什么?如果改用strong关键字,可能造成什么问题?转载 2015-08-13 19:47:14 · 6206 阅读 · 0 评论