自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(47)
  • 资源 (4)
  • 问答 (1)
  • 收藏
  • 关注

原创 Flutter之线程

Flutter默认是单线程任务处理的,如果不开启新的线程,任务默认在主线程中处理。支持并发执行线程的高级语言(比如,C++、Java、Objective-C),大都以抢占式的方式切换线程,即:每个线程都会被分配一个固定的时间片来执行,超过了时间片后线程上下文将被抢占后切换。如果这时正在更新线程间的共享资源,抢占后就可能导致数据不同步的问题。解决这一问题的典型方法是,使用锁来保护共享资源,但锁本身又可能会带来性能损耗,甚至出现死锁等更严重的问题。这时,Dart 是单线程模型的优势就体现出来了,因为它天

2021-08-03 20:59:15 2233

原创 Flutter学习路线总结

之前使用过Hybrid和RN混编技术在原生中开发,现使用Flutter开发也有一年多了,项目一直在持续迭代中,并做过架构封装过多个组件和插件。在这里做个总结,希望能给感兴趣的同学一些帮助,之后会陆续更新Flutter使用中遇到的问题的解决方案和架构方面的文档。第一步 环境的搭建工欲善其事,必先利其器,任何一门新技术或语言的学习,首先都需要从基础的环境搭建开始,直接看官网安装即可https://flutterchina.club,选择并下载最新的稳定版本,根据流程安装SDK和模拟器,官网已经介绍的

2021-08-03 17:35:42 1387

原创 《图解密码技术》读后的总结

《图解密码技术》我认为是一本密码学入门的易读书,身边的几个做密码相关工具的朋友都推荐我看看,这次有时间就看了下。本书是我11月份开始阅读的,一共用了25天,每天读完后都会把一些我认为是重点的章节和内容做个总结并写在印象笔记中,这样做的目的是之后在使用的时候可以快速的查找到不用在去翻书,并可以让我随时可以查看。如果各位有时间并对密码学感兴趣建议还是去买本书读下。在读书之前我以为我会读不懂,但读后...

2019-12-30 16:02:37 978 1

原创 IOS-UI调试工具Reveal(iOS开发者应该会用的工具)

Reveal我认为是一个iOS开发者必须了解的一个工具。无论是接手一个老项目后对UI的分析,还是在自己写项目后对UI问题的查找,都可以给予很大的帮助。之前写过一篇介绍Reveal工具的文章,但但是基于越狱手机的前提下。现在介绍下在自己的程序中该如何使用。Reveal介绍Reveal是一款调试iOS程序UI界面的工具。可以在官网上面下载。建议下载至少Reveal4版本,支持USB连接调试,速...

2019-12-30 15:34:23 604

原创 iOS-动态调试LLDB

最近在研究iOS的逆向,学到了动态调试LLDB这块,之前在开发的时候只是进行正常的打断点和打印参数,没有去具体的了解整个调试流程。这次做个相关知识的学习并进行个总结。什么是LLDB?LLDB是Low Level Debugger的简称,在iOS开发的调试中LLDB是经常使用的,LLDB是Xcode内置的动态调试工具。LLVM是一个模块化和可重用的编译器和工具链技术的集合,创始人是 C...

2019-12-30 15:33:25 440

原创 IOS安全、逆向、反编译5-Mach-O

逆向App的基本步骤 界面分析 Cycript、Reveal 代码分析 对Mach-O文件的静态分析 MachOView、class-dump、Hopper Disassembler、ida等 动态调试 对运行中的APP进行代码调试 debugserver、LLDB 4.代码编写 注入代码到APP中 必要时还可能需要重新签名、打包ip ...

2019-12-27 11:05:51 2060

原创 IOS安全、逆向、反编译4-Reveal(iOS开发者应该会用的工具)

Reveal我认为是一个iOS开发者必须了解的一个工具。无论是接手一个老项目后对UI的分析,还是在自己写项目后对UI问题的查找,都可以给予很大的帮助。Reveal介绍Reveal是一款调试iOS程序UI界面的工具。可以在官网上面下载。建议下载至少Reveal4版本,支持USB连接调试,速度快。低版本的只能WiFi连接调试。下边也提供破解的Reveal下载地址。首先来看下Reveal出来...

2019-12-27 11:03:45 513

原创 IOS安全、逆向、反编译3-Cycript

Cycript是Objective-C++、ES6(JavaScript)、Java等语法的混合物, 可以用来探索、修改、调试正在运行的Mac\iOS APP。我们可以通过官网和文档来学习 。Cycript使用步骤 在iPhone上通过Cydia安装Cycript,即可在iPhone上调试运行中的APP 在Mac终端使用SSH连上iPhone 开启cycript ...

2019-12-27 10:54:35 228

原创 iOS-真机调试包(不断的更新中...)

今天手机自动升级到了iOS13,然后真机调试就用不了了,还不想升级XCode,就只能新增真机调试包了。(会不断的更新)xcode 版本回退地址:https://developer.apple.com/download/more/把我包里的文件 13.3放到 下边目录中打开路径:/Applications/Xcode.app/Contents/Developer/Platfor...

2019-12-25 10:49:01 459

原创 IOS安全、逆向、反编译2-SSH协议的详解

在逆向工程中,我们经常需要通过Mac来操作iPhone。在Mac上,我们经常在终端通过敲一些命令行来完成一些操作,而由于iOS和Mac OS X都是基于Darwin(苹果的一个基于Unix的开源系统内核),所以iOS中同样支持终端的命令行操作,因此,我们可以在Mac上使用终端来操作iPhone。为了实现上述的功能,我们得让Mac和iPhone建立连接,一般可以通过Mac远程登录到iPhone的...

2019-12-24 10:23:55 399

原创 IOS安全、逆向、反编译1-越狱知识讲解

之前开发了一个对安全性要求比较高的APP,所以对安全、逆向和反编译有了一些认识,最近有时间就想系统的把这些知识做一个整理。今天就开始把我的学习过程记录下来。iOS越狱环境搭建在学习iOS越狱之前,我们当然需要一台iOS设备,由于现在基本上都是64位系统为主,所以最好是使用ARM64架构的设备,因此首先我们的手机至少需要iPhone5S或者之后的iPhone设备,平板至少是iPad Air、...

2019-12-11 14:37:41 935

原创 iOS-理解SSL证书

为什么要用HTTPS简单地说,HTTP是明文协议,通过该协议传输的数据处在被窃听、篡改、冒充这三大风险中,已经是非常不安全的传输协议。HTTPS是加密协议,就是在HTTP的基础上开启一条SSL加密通道,让原本明文“裸奔”的数据,从加密通道中密文传输,保证了数据传输的安全性。目前,全球互联网正在进行从HTTP到HTTPS的大迁移,苹果一向非常关注用户隐私安全,在执行安全策略方面,态度也是非...

2019-12-02 11:39:30 711

原创 iOS-多线程的详细理解

多线程一直是近年来最常问的面试题之一,在工作中也会经常用到(如果你说你重来没用到,那至少你也得知道哪些底层用到过吧,如果你说你不知道,那你牛)。先从一些面试题入手,了解下哪些是重点,有些问题是我去面试被问到的,也是面试其他人我愿意问的。1、你理解的多线程?2、iOS的多线程方案有哪几种?你更倾向于哪一种?3、你在项目中用过 GCD 吗?4、GCD 的队列类型5、说一下 Op...

2019-12-02 11:32:13 267

原创 iOS-Tagged Pointer的理解

关于Tagged Pointer在2013年9月,苹果推出了iPhone5s,与此同时,iPhone5s配备了首 个采用64位架构的A7双核处理器,为了节省内存和提高执行效率,苹果提出了Tagged Pointer的概念。先看看原有的对象为什么会浪费内存。假设要存储一个NSNumber对象,其值是一个整数。正常情况下,如果这个整数只是一个NSInteger的普通变量,那么它所占用的内存是与CP...

2019-12-02 11:12:13 590

原创 iOS 13适配的一些问题总结

因为需要测试iPhone 11,然后就手残的把XCode给升级了,然后就各种问题,如果不是有特别的需求建议千万现别升级、千万现别升级、千万现别升级。1.模态弹出默认交互改变模态的效果完全改变了,从跳转到下个页面变成了弹出的效果。iOS 13 的 presentViewController 默认有视差效果,模态出来的界面现在默认都下滑返回。 一些页面必须要点确认才能消失的,需要适配。如果...

2019-10-09 16:48:53 1746 1

原创 This xxx is running iOS 13 (17A860), which may not be supported by this version of Xcode.-已更新14.5

今天手机自动升级到了iOS13,然后真机调试就用不了了,还不想升级XCode,就只能新增真机调试包了。(会不断的更新)xcode 版本回退地址:https://developer.apple.com/download/more/把我包里的文件 13.3放到 下边目录中打开路径:/Applications/Xcode.app/Contents/Developer/Platfor...

2019-10-08 12:25:57 5439

原创 iOS 防止录屏和截屏的监听

iOS实现不了不让截屏或者录屏,但是提供的截屏或者录屏的监听方法,我们也可以通过监听方法来拿到截屏的图片,为此参考了支付宝和微信支付时,截屏的处理方式。 通过上图发现,其实图片都已经保存到本地相册中,程序监听到了截图的事件,然后给予友好的提示,接下来说下实现的方法。截屏状态获取编辑相册中最新照片的方法iOS8之后就已经失效,框架“Photos”也在iOS10之后失效。搜索发...

2018-09-04 10:47:28 18980

原创 iOS-捕获崩溃的异常和友好的处理

1.前言开发iOS应用,解决Crash问题始终是一个难题。Crash分为两种,一种是由EXC_BAD_ACCESS引起的,原因是访问了不属于本进程的内存地址,有可能是访问已被释放的内存;另一种是未被捕获的Objective-C异常(NSException),导致程序向自身发送了SIGABRT信号而崩溃。其实对于未捕获的Objective-C异常,我们是有办法将它记录下来的,如果日志记录得当,能...

2018-08-21 17:01:35 1851

原创 iOS-实现支付宝的进入后台模糊效果

实现支付宝进行后台,页面模糊的效果,很多金融类的app都实现这样效果来增加安全,代码很简单,在AppDelegate中实现。代码实现:@property (strong, nonatomic)UIVisualEffectView *visualEffectView; #pragma mark 后台模糊效果- (UIVisualEffectView *)visualEffectV...

2018-08-07 10:47:57 4987 2

原创 iOS-操作系统的理解和回答面试问题的小技巧

写这篇文章是因为昨天一个朋友去面试回来,和我说面试官问他什么是iOS,他很是无语不知道怎么回答。今天想了下,其实这种问题是很基础的,可能对方只是想听一些你对操作系统的理解,所以类似的问题都可以往苹果移动操作系统的原理方面回答,下边是我想到的一些回答思路。这里说下自己总结的回答面试问题的小技巧,之前面试其他人,有的人知道问题,但是回答的方式很乱,让人感觉他自己都不熟悉,这样的人在开发也是一样...

2018-08-03 12:24:41 702

原创 在App的图标上显示版本信息的脚本

由于公司的项目比较多,而且总更新不同的版本,测试人员有的时候会拿来一个不知n月前安装的App告诉你,这个App有问题,然后这个问题你会发现是早就修改过的,但是测试者不知你App的具体信息,你也不知是什么时候给安装过的。因此就想到了这个方法,把程序的信息直接放到了App的图标上,让测试人员和你都能快速定位问题,我是把版本号,SVN上对应代码的版本,打包的时间显示在图标上了(这个根据自己的情况来显示,...

2018-04-13 14:43:49 512

原创 iOS之加密安全设计

公司项目是很注重信息的安全,在这里总结下在项目中使用到的一些技术。先说下基本的加密算法对称加密和非对称加密。加密算法通常分为对称性加密算法和非对称性加密算法:对于对称性加密算法,信息接收双方都需事先知道密匙和加解密算法且其密匙是相同的,之后便是对数据进行 加解密了。非对称算法与之不同,发送双方A,B事先均生成一堆密匙,然后A将自己的公有密匙发送给B,B将自己的公有密匙发送给A,如果A要给B发送消息...

2018-02-26 11:30:23 590

原创 iOS-Xcode中Developer Tool功能的总结

有开发几年的人也很少都用这些工具的,这里整理下Xcode菜单栏里面Open Developer Tool的一些功能。  一、Instruments工具Instruments工具是iOS性能优化工具。对于程序员来说,程序代码性能是个老生常谈的话题,随着程序项目的不断增加功能和需求,不得不随时考虑到调试和优化代码,那么根据运用Xcode自带的监控调试工具就可以很好的解决这些问题,防...

2018-02-09 15:12:22 1904

原创 ios implicit conversion of an objective-c pointer to 'NSString *__autoreleasing *' is disallowed wit

最近再调其他公司给的一个SDK,对方有一个方法是这样定义的-(void)getCode:(NSString **)str;如果直接传字符串,直接传不过去解决方案是我直接加了一个地址符就可以了  NSString *str =@"123";[_secondVCgetCode:&str];

2017-09-06 16:50:58 6493

原创 iOS 使用WKWebView加载h5页面无法调用拨打电话功能

一般h5页面有联系我们然后点击拨打电话的功能,在使用的时候发现了UIWebView加载的H5,可以调用;但是WKWebView就是不行,解决WKWebView加载H5页面,无法调用拨打电话功能的问题H5的拨打电话代码是移动WEB页面JS一键拨打号码咨询功能解决的方法:在WKWebView的WKNavigationDelegate代理方法处理解决代码如下:

2017-09-05 17:06:38 3213

原创 Xcode 真机调试报错:This application's application-identifier entitleme

This application's application-identifier entitlement does not match that of the installed application. These values must match for an upgrade to be allowed.解决方法:1、Xcode-Window->Devices2、选中你的设

2017-09-01 10:22:33 270

原创 iOS 介绍使用UIWebView和WKWebView加载进度条的代码+demo

简介如果项目支持iOS7之前的系统版本的话,可以做个系统判断,这里就不介绍了,这里还是推荐使用WKWebView,先介绍下使用这个的好处,然后介绍使用UIWebView和WKWebView加载进度条的代码。开发App的过程中,常常会遇到在App内部加载网页,通常用UIWebView加载。这个自iOS2开始使用的网页加载器一直是开发的心病:加载速度慢,占用内存多,优化困难。如果加载网页多

2017-08-31 17:59:24 771

原创 iOS之Runtime的理解和使用

之前很少使用Runtime,现在Runtime基本就是面试必问的问题了,Runtime是想要做好iOS开发,或者说是真正的深刻的掌握OC这门语言所必需理解的东西,现在就开始重新学习和总结一下Runtime。什么是Runtime我们写的代码在程序运行过程中都会被转化成runtime的C代码执行,例如[target doSomething];会被转化成objc_msgSend(

2017-08-15 11:06:52 256

原创 iOS @class与#import的区别

1.@class基本概念作用  可以简单地引用一个类简单使用  @class Dog;仅仅是告诉编译器:Dog是一个类;并不会包含Dog这个类的所有内容具体使用 在.h文件中使用@class引用一个类在.m文件中使用#import包含这个类的.h文件2.@class其它应用场景对于循环依赖关系来说,比方A类引用B类,同时B类也引用A类这种嵌套包含的代码编译会报错

2017-08-15 10:54:08 205

原创 iOS编译过程的原理和应用

转:http://blog.csdn.net/Hello_Hwc/article/details/53557308一般可以将编程语言分为两种,编译语言和直译式语言。像C++,Objective C都是编译语言。编译语言在执行的时候,必须先通过编译器生成机器码,机器码可以直接在CPU上执行,所以执行效率较高。像JS,Python都是直译式语言。直译式语言不需要经过

2017-08-15 09:21:38 297

转载 判断链表中是否有环 ----- 有关单链表中环的问题

给定一个单链表,判断其中是否有环,已经是一个比较老同时也是比较经典的问题,在网上搜集了一些资料,然后总结一下大概可以涉及到的问题,以及相应的解法。首先,关于单链表中的环,一般涉及到一下问题:1.给一个单链表,判断其中是否有环的存在;2.如果存在环,找出环的入口点;3.如果存在环,求出环上节点的个数;4.如果存在环,求出链表的长度;5.如果存在环,求出环上距离任意

2017-06-21 17:17:52 209

原创 iOS 封装多张图片的展示器+demo

封装的一个图片的展示的功能支持GIF 暂时只支持网络图片 提供一组URL 即可自动完成所有操作。支持长按保存图片到相册,支持横屏查看图片,查看长图。点击图片时的放大、缩小都做了动画效果。整个模块以CollectionView控件来完成 只需要在你展示的地方 addSubview 即可 无需管理控制器,方便简洁可以直接修改,无需深入代码来做修改。

2017-06-13 17:05:25 957

原创 iOS 第三方MBProgressHUD使用的问题

之前用过MBProgressHUD和SVProgressHUD,两个第三方都挺好用最近使用MBProgressHUD一直报让使用GCD'showAnimated:whileExecutingBlock:completionBlock:' is deprecated: Use GCD directly.MBProgressHUD官网的地址: https://github.com/

2017-06-13 14:20:50 587

原创 iOS YYKit理解

github的下载地址https://github.com/ibireme/YYKitYYKit 是一组庞大、功能丰富的 iOS 组件。为了尽量复用代码,这个项目中的某些组件之间有比较强的依赖关系。为了方便其他开发者使用,我从中拆分出以下独立组件:YYModel — 高性能的 iOS JSON 模型框架。YYCache — 高性能的 iOS 缓存框架。Y

2017-06-09 18:31:04 1644

原创 iOS 自定义多张图片选择+demo

if ([phoneVersionintegerValue] >= 8) {        //高版本使用PhotoKit框架        [selfgetHeightVersionAllPhotos];    }    else {        //低版本使用ALAssetsLibrary框架        [selfgetLo

2017-06-05 15:39:00 8596 2

转载 iOS GitHub上常用第三方框架与一些参考文本总结

转载自:https://github.com/Tim9Liu9/TimLiu-iOS目录参考@版本管理@Git用法@GitHub@GitBook@Git文章@GithubRank@桌面工具@Github客户端@Github插件@命令行@Git平台与工具@Github项目@Git库@Github浏览器工具@完整App@框架@响应式@framework@混合开发@样

2017-06-01 09:10:44 3471 1

原创 iOS 图片的压缩

我是用这个函数对图片进行压缩的NSData *fData = UIImageJPEGRepresentation(self.photo, 1.0);这样,图片是7MB这样。假如压缩级别是0.5,如:NSData *fData = UIImageJPEGRepresentation(self.photo, 0.5);图片压缩之后,大小是 1MB左右。。现在问题来了。

2017-05-31 18:34:50 586

原创 iOS 宏定义

在项目中经常用到的一些宏定义,我基本都是将宏分成几个部分,尺寸宏、系统宏、文字宏、工具类宏、定义沙盒目录文件的宏、通知Notification相关的宏、服务端API接口的宏,还有一个管理的宏。1、定义尺寸类的宏#ifndef DimensMacros_h#define DimensMacros_h//状态栏高度#define STAT

2017-05-25 17:37:55 921

原创 iOS OC消除黄色警告⚠️ (不断的更新中...)

开发一个项目时,难免会产生很多警告,一些是第三方或是老代码不再被支持造成的,但并不影响使用,这些警告其实可以直接隐藏掉!还有一些警告可能是系统方法弃用、不兼容指针类型、未使用变量、未使用default、weak、循环引用、不能执行之类的警告。首先说下我使用CocoPod在管理我的第三方,最近在升级的时候,把一些第三方直接升到了最新版本,结果现在使用的一些方法就出现了警告,所以这里建议在

2017-05-25 11:04:50 5063

原创 iOS 类方法和实例方法的区分和使用

最近发现很多朋友在面试的时候被问到这个问题,看起来很简单,但是说的不全面,就在这总结下,也参考了一些其他文档。Objective-C里面既有实例方法也类方法。类方法(Class Method) 有时被称为工厂方法(Factory Method)或者方便方法(Convenience method)。工厂方法的称谓明显和一般意义上的工厂方法不同,从本质上来说,类方法可以独立于对象而执行,所以在

2017-03-22 14:38:42 486

Runtime面试题.pdf

iOS runtime的相关面试题和答案 问题的覆盖面很全 适合面试前的对runtime的全方面整理 包含了对象,类,元类的相关问题等

2019-12-25

13.3 (17C54).zip

iOS 真机调试支持包 Xcode的真机支持包更新方法,真机运行的支持包的位置位于: 应用程序 ——》Xcode.app,(右键点击项目->显示包内容) /Contents/Developer/Platforms/iPhoneOS.platform/ 把文件下载后放入到这个位置即可。

2019-12-25

class-dump-3.5.tar

用来dump目标文件的class信息的工具。它利用Objective-C语言的runtime的特性,将存储在mach-O文件中的@interface和@protocol信息提取出来,并生成对应的.h文件。

2019-12-17

C语言的习题练习面试的题

C语言的面试题大公司的面试题C语言的面试题大公司的面试题C语言的面试题大公司的面试题

2018-01-03

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除