自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(426)
  • 资源 (2)
  • 问答 (2)
  • 收藏
  • 关注

原创 2021年cocoapods 安装

正文自己装过很多次CocoaPod,中间遇到过各种烦人的问题,也促使自己在不断的摸索中学习到了很多,总结一下,供大家学习研究,以下过程经本人新机测试,一路畅通无任何错误(请严格按照下述方法来做),中间有网络不好的可能会下载中断出错,只要从新执行一下命令就行了.CocoaPods简介:CocoaPods是一个用Ruby写的、负责管理iOS项目中第三方开源库的工具,CocoaPods能让我们集中的、统一管理第三方开源库,为我们节省设置和更新第三方开源库的时间。CocoaPods安装:下面就正

2021-04-19 16:25:51 406

原创 Mac下多个Xcode版本切换

有时候会遇到需要一些旧的版本Xcode的情况,这样电脑上就要安装多个Xcode。各个版本的Xocde下载地址首先需要安装Command Line ToolsCommand Line Tools, 下载与当前系统和安装的Xcode对应的Command Line Tools(其他版本的Xcode也在这里下载)1、显示当前使用的Xcode xcode-select -p //输出:Applications/Xcode.app/Contents/Developer ...

2021-04-01 15:26:41 1368

原创 Swift 响应式编程

响应式编程RxSwiftRxSwift核心角色

2021-03-05 21:39:34 324

原创 Swift学习Array学习深入浅出Swift高阶函数-Map、FlatMap、CompactMap、CompactMapValues、Filter、Reduce

Swift 作为一门新兴的语言,它吸收了众多语言的优点,函数式编程就是其中之一。在 Swift 中,函数是作为一等公民的存在,所以学习高阶函数还是非常有必要的,它可以使你的代码扩展性更高,代码更 Swift 范。废话不多说,下面就让我们开始吧!初探高阶函数在 Swift 中,高阶函数一共有下面几个:map:对给定数组每个元素,执行闭包中的映射,将映射结果放置在数组中返回。 flatMap:对给定数组的每个元素,执行闭包中的映射,对映射结果进行合并操作,然后将合并操作后的结果放置在数组中返回。

2021-02-28 21:31:09 704

原创 OC原理-isa详解

OC原理-isa详解在OC原理--对象、类的本质这篇文章我们提到过,isa指针进行一次位运算才能,拿到class对象和meta-class对象的真实地址。其实在64位前,isa就是一个普通的指针,存储这class对象、meta-class对象的内存地址。 从64位后开始,对isa进行了优化,变成了一个共用体(union)结构,用不同的位域来存储不同的信息从上图我们也可以看到isa是一个共用体结构。union isa_t { Class cls; uintptr_t bi..

2020-12-16 10:50:30 803

原创 2020年iOS面试

1.imsdk 封装了什么 单点登录 token加密 对称加密,非对称加密 本地加密 存储方式2.avplayer 缓存3.sdwebimage加载 为什么用位图 加载特别大图片怎么办 imagename imagecontentfile 区别释放时机4.图片渐进式加载 怎么做5.nsthead gcd nsopertion 区别 ab任务执行完 在执行C怎么办6.http https ca证书加密内容是什么 请求报文为什么在浏览器看到明文7.calayer uiview 区别 layer.

2020-11-19 09:07:26 323 1

转载 如何清晰的理解算法中的时间复杂度?

作者:程序员吴师兄链接:https://www.zhihu.com/question/20196775/answer/693388880来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。时间复杂度和空间复杂度经常拿来一起讲,本文就一并拿出来分析,希望能帮助题主更好的理解这两个概念。原文地址:冰与火之歌:「时间」与「空间」复杂度算法(Algorithm)是指用来操作数据、解决程序问题的一组方法。对于同一个问题,使用不同的算法,也许最终得到的结果是一样的,比.

2020-09-17 14:11:06 632

原创 iOS常用算法

算法:1、字符串反转2、链表反转3、有序数组合并4、hash算法5、查找两个自视图的共同父视图6、求无序数组当中的中位数字符串反转例: 给定字符串 “hello,worlld ”,实现将其反转输出 “dllrow,olleh”void char_reverse(char* cha){ // 指向第一个字符 char* begin = cha; // 指向最后一个字符 char* end = cha + strlen(cha) - 1;.

2020-09-17 10:28:51 906

原创 七种常见的数组排序算法整理(C语言版本)

~~~C语言版本~~~冒泡排序 选择排序 直接插入排序 二分插入排序 希尔排序 快速排序 堆排序#define EXCHANGE(num1, num2) { num1 = num1 ^ num2;\num2 = num1 ^ num2;\num1 = num1 ^ num2;}排序算法是否稳定:相同元素的相对在排序前后是否会发生改变,如果会,就是不稳定的,否则就是稳定的。一.冒泡排序冒泡排序原理很容易理解,就是重复地走访过要排序的元素列,依次比较两个相邻的元素,顺序不.

2020-09-15 15:33:52 616

原创 UIView和CALayer之间的关系

UIView和CALayer之间的关系从框架来说CALayer 基于 QuartzCore 框架 UIView 基于 UIKit 框架从父类来说使用CALayer同样可以实现与UIImageView一样的展示效果。那么到底有什么区别呢? 其实,CALayer是直接继承自NSObject的,而UIView是直接继承自UIResponder的。所以、相比于CALayer来说、UIView多了一个事件处理功能、也就是说、CALayer是不能处理用户的触摸事件的、而UIView可以。那么、当

2020-09-15 15:27:40 462

原创 Git可视化工具SourceTree的使用

我在前面几篇文章中详细介绍了Git命令行的使用《Git学习札记》《Git学习札记——进阶》,以及使用Xcode中自带的Git可视化工具的使用《Xcode中git的使用方法介绍与"Please tell me who you are"问题的解决方案》。对于Git的初学者,个人建议先学习Git命令行,然后再去使用图形化工具,这样才会对整个Git的工作流有一个完整的了解。今天我们要来学习的工具是SourceTree,一款非常好用的Git可视化工具。我今天的操作都将在Mac上进行,并且以iOS项目作为演示。因为对.

2020-07-28 15:58:25 459

原创 2020面试题 iOS

目录1、设计模式是什么? 你知道哪些设计模式,并简要叙述?2、MVC 和 MVVM 的区别?3、#import跟 #include 有什么区别,@class呢,#import<> 跟 #import“”有什么区别?4、frame 和 bounds 有什么不同?5、Objective-C的类可以多重继承么?没有的话用什么代替?可以实现多个接口么?Category是什么?重写一个类的方式用继承好还是分类好?为什么?6、@property 的本质是什么?ivar、getter、sette.

2020-07-28 15:51:48 561

原创 2020 iOS面试

前言iOS面试辅助不针对任何一家面试题,这只是刷题的时候分享可能会出现的面试题,大家一起查漏补缺,温故知新。希望给你提供上真正帮助。题目1、说一下OC的反射机制;2、block的实质是什么?有几种block?分别是怎样产生的?3、__block修饰的变量为什么能在block里面能改变其值?4、说一下线程之间的通信。5、你们应用的崩溃率是多少?6、说一下hash算法。7、NSDictionary的实现原理是什么?8、你们的App是如何处理本地数据安全的(比如用户名的密码

2020-07-28 15:49:36 226

原创 浅谈iOS进阶路线

目录1.对本职业看法2.学习方法3.职业规划4.产品公司&外包公司5.做一个负责任的开发者6.iOS开发学习路线7.iOS基础知识点8.iOS中级知识点9.iOS高级知识点10.官方Kit对本职业看法16年我尝试加入各种iOS开发交流群,群里的气氛大致就是:学什么iOS,iOS完了,OC完了.群里大致三种人:谁有企业开发证书,马甲包了解一下,iOS某网课推广.至今,大部分iOS开发群还都是仅供吹水用,偶尔能碰见几个好心人解决一下问题.个人观点个人观点:iOS开.

2020-07-28 08:40:51 1173

原创 fatal: destination path ‘.‘ already exists and is not an empty directory.如何 clone git 项目到一个非空目录

git解决的办法是:1. 进入非空目录,假设是 /workdir/proj12. git clone --no-checkout https://git.oschina.net/NextApp/platform.git tmp3. mv tmp/.git . #将 tmp 目录下的 .git 目录移到当前目录4. rmdir tmp5. git reset --hard HEAD然后就可以进行各种ok了。...

2020-07-24 17:58:48 1709

原创 iOS人脸识别 用苹果api<AVFoundation/AVFoundation.h>

Demo 地址 : https://github.com/wwpeter/FaceID.githttps://img-blog.csdnimg.cn/2020072417iOS 系统自带了人脸识别的方法,而且非常简单。无论针对图片 or 摄像头,都有系统级方法。一、使用 AVCaptureVideoDataOutput 需要实现AVCaptureVideoDataOutputSampleBufferDelegate 的代理方法。这个 delegate 会返回每个视频帧给我们,但不是我们常

2020-07-24 17:43:53 3304

原创 ios 设置权限

<key>NSAppleMusicUsageDescription</key><string>App需要您的同意,才能访问媒体资料库</string><key>NSBluetoothPeripheralUsageDescription</key><string>App需要您的同意,才能访问蓝牙</string><key>NSCalendarsUsageDescription</k

2020-07-13 08:40:52 469

原创 ios 轮子库

开源项目iOSBlogAndToolsiOS开发优秀博客和软件推荐CodeHubbrowse and maintain your GitHub repositories on any iOS device!Open-Source iOS Apps开源iOS apps列表弹框FFToastGitHub中最强大的iOS Notification和AlertView框架,没有之一!TYAlertController各种风格的弹框,满足你的各种需求JKPopMenuView简单的弹出菜单MM

2020-07-04 16:09:06 428

原创 苹果库- Accelerate

Accelerate进行大规模的数学计算和图像计算,优化了高性能。Overview该文档描述了加速框架,其中包含了用于矢量和矩阵数学的C API,数字信号处理,大量数据处理和图像处理。TopicReferenceBNNS使用先前获得的训练数据来实现和运行神经网络。Quadrature在有限或无限区间上逼近函数的定积分。BLASBasic Linear Algebra Subprograms苹果的基本线性代数子程序(BLAS)的实现。Sparse Solvers求解系数

2020-07-04 16:08:32 448

原创 cocoa pods 更新

背景在多人开发时,将git上项目clone下来进行pod install后,发现sourceTree上未暂存文件中xxx/Podfile.lock文件有变动,看下图第三方库版本CocoaPods版本从上图可以发现,由于本地cocoapods版本是1.6.1,git远端pod版本为1.7.1 由于cocoapods版本不一致,同一份Podfile, pod install出来的第三方库版本可能会不同 第三方库版本如何查看?通过Podfile.lock文件查看升级pod..

2020-06-01 09:18:10 245

原创 iOS WKWebView与JS交互、传值,H5调相机相册、进度条加载等(干货满满)

WKWebView是苹果在iOS 8之后推出的框架,关于它比webview的优势这里就不讲了。主要说一下与JS交互的问题,其实WKWebView已经内置了JS与OC的互调、传值等方法,使用起来也非常方便,下面就来细细的探讨一下以及自己遇到过的坑...首先来看下WKWebView的初始化相关设置:一、导入相关头文件、设置相关代理和属性调用相册楼主用的是: TZImagePickerCo...

2019-09-25 16:03:54 5565 2

原创 WWDC19 内参完整解读正式出炉~

WWDC19 内参完整解读正式出炉~WWDC2019 专栏由「iOS 周报」、「SwiftGG 翻译组」和「知识小集」共同发起,以及字节跳动团队的支持,我们招集了30多位优秀的同学,共同把 WWDC2019 上优质的内容进行解读。目前已经完成总计 46 篇 session 的解读.必看What's new in Xcode 11 作者:Forelax,iOS 开发者,美团点评高级工程师...

2019-07-10 13:54:14 546

原创 10 个 Swift 开源项目

[译]过去一个月最

2019-07-10 13:52:23 4735 1

原创 iOS App的几种安全防范

iOS App安全防范总结:1.防止抓包篡改数据2.防止反编译3.阻止动态调试4.防止二次打包关键检测:越狱检测 OK,下面是正文开始。 1.防止抓包篡改数据对于抓包,利用神器charles的操作会在另外的文章单独介绍。如果不懂以下为利用charles抓包。charles抓包教程若别人真想抓你程序包,该如何防范呢?我目前只能说,let it go ~ le...

2019-06-21 10:48:05 1297

原创 iOS学习进阶

https://zhuanlan.zhihu.com/p/27248527https://blog.csdn.net/deft_mkjing/article/details/53789125https://juejin.im/post/5ae194adf265da0b9d77eb87https://juejin.im/post/5ad0e8975188255c9323b490htt...

2019-06-03 17:03:53 652

原创 iOS支付宝H5支付无法返回APP解决方案

本文只讨论你已经成功实现 客户端->支付宝 支付流程,仅仅是支付完成后无法返回自己的APP的问题。如果你的支付流程是 客户端->Safari->支付宝 不在本文讨论范围之类。iOS支付宝H5支付不在讨论范围内。提供下列参考:支付宝H5支付官方文档支付宝H5支付官方Demo下载 (Demo使用文档)本文前大段在讲楼主是如何解决这个问题的,以及中间遇到的麻烦。赶时间的同学可以...

2019-05-23 09:39:10 4459

原创 mac 系统重装

简书:http://www.jianshu.com/u/5690b3ad0a6fBlog:http://blog.zhangpeng.siteGitHub:https://github.com/fullstack-zhangpeng为什么要重装系统?无用的东西太多,忍不了了在日常工作中,我们难免要安装各式各样的软件,插件,环境等,随着时间的推移,我们电脑中的东西越来越多,虽然不会引...

2019-04-28 14:52:13 683

转载 mac 重装系统

简书:http://www.jianshu.com/u/5690b3ad0a6fBlog:http://blog.zhangpeng.siteGitHub:https://github.com/fullstack-zhangpeng为什么要重装系统?无用的东西太多,忍不了了在日常工作中,我们难免要安装各式各样的软件,插件,环境等,随着时间的推移,我们电脑中的东西越来越多,虽然不会引...

2019-04-27 14:22:45 492

原创 WKWebView 那些坑

导语WKWebView 是苹果在 WWDC 2014 上推出的新一代 webView 组件,用以替代 UIKit 中笨重难用、内存泄漏的 UIWebView。WKWebView拥有60fps滚动刷新率、和 safari 相同的 JavaScript 引擎等优势。简单的适配方法本文不再赘述,主要来说说适配 WKWebView 过程中填过的坑以及善待解决的技术难题。1、WKWebView...

2019-04-27 13:52:23 2368 1

转载 iOS12下APP进入后台后再返回前台连接断开

最近无意中发现了一个问题,在release环境下,APP在iOS12的时候退到后台然后再返回到前台的时候网络请求返回错误,AFN返回错误码53,NSPOSIXErrorDomain Code=53: Software caused connection abort。但是在Debug环境下却没发现这个问题,其他系统版本下也没有问题,所有就怀疑是不是iOS12的原因。最后在github上 AFNet...

2019-03-29 16:50:00 1571

原创 iOS 多线程总结

更多实用详见 Demo本文导读一些相关总结(同步、异步、并行、串行概念,GCD、NSOperation对比)一、进程与线程概念二、多线程-GCD三、多线程-NSOperation四、多线程-NSThread五、队列概念六、多线程面试题同步、异步、并行、串行同步和异步决定了要不要开启行的新的线程。同步在当前线程中执行任务,不具备开启新线程的能力。异步在新的线程中执行任...

2019-03-26 16:19:38 382

原创 iOS 性能监控方案 Wedjat(上篇)

为什么写这篇文章?随着移动互联网向纵深发展,用户变得越来越关心应用的体验,开发者必须关注应用性能所带来的用户流失问题。据统计,有十种应用性能问题危害最大,分别为:连接超时、闪退、卡顿、崩溃、黑白屏、网络劫持、交互性能差、CPU 使用率问题、内存泄露、不良接口。开发者难以兼顾所有的性能问题,而在传统的开发流程中,我们解决性能问题的方式通常是在得到线上用户的反馈后,再由开发人员去分析引发问题的根源...

2019-03-12 15:37:24 632

原创 Flutter教程(一)Flutter概览

Flutter官网点击访问Flutter教程(一)Flutter概览Flutter教程(二)Flutter安装及运行Flutter如何引用第三方库并使用作为2018世界移动大会的内容之一,Google发布了Flutter的第一个 beta 版本。Flutter 是 Google 用以帮助开发者在 iOS 和 Android 两个平台开发高质量的原生应用的全新移动 UI 框架。现在就可以去 f...

2019-02-28 10:31:31 523

原创 lottie-ios 的集成及使用

 基于以上的问题, 建议使用Lottie的场合为复杂的播放式形变动画, 因为形变动画由程序员一点点的写路径确实不直观且效率低. 但即便如此, Lottie也是我们在CoreAnimation之后一个很好的补充.以上健呗的Demo地址: https://github.com/syik/JR直播伴侣地址: https://github.com/syik/BulletAnalyzer ...

2019-01-19 11:45:47 4748

原创 一款非常好用的动画库Lottie

简介Lottie是Android和iOS的移动图书馆,用于解析Adobe After Effects动画,并以Bodymovin作为json导出,并在手机和网络上本机呈现。该项目在GitHub已经获得三个端累计3万+的star。在Lottie社区提供了更多的动画下载。如果你是一个设计师还可以将自己制作的作品发布到该社区。图片来源Lottie兼容平台 Android ...

2019-01-19 11:37:15 1983

原创 从事iOS研发6年的面经——希望对你们有帮助

前言:今天和大家分享一下,我从事iOS开发6年的面试心得。大大小小参加过不下30+公司的面试,其中不乏BAT、TMD等一线互联网公司,总结一下,发现大厂招聘都有一个共性。对技术的要求很全面,有些同学认为iOS掌握了基础的UI、网络、内存、多线程等等就够了,其实要想更好的应付iOS的面试,这些是远远不够的。比如对RunTime底层实现机制、RunLoop的用户态到核心态切换逻辑,设计模式、架...

2019-01-18 16:58:36 441

原创 2019年iOS面试必备技术点总结

序言移动互联网行业一直是社会发展的一个趋势,且这几年快速十分迅速,诸如BAT这些大型的互联网企业的用户也是主要以移动端用户为主。而iOS开发本身就属于移动开发,所以它依旧是目前热门的行业,今天小编就跟大家聊聊iOS面试必考的几大知识点。1、Runtime相关面试问题Runtime是什么?见名知意,其概念无非就是“因为 Objective-C 是一门动态语言,所以它需要一个运行时系统...

2019-01-18 16:57:56 2713

转载 iOS-加载gif的四种方式

这里介绍下iOS中加载本地gif的几种方式,我们在最后再总结这几种方式的优缺点1.通过webview来进行展示-(void)loadGIFWithWebView{ UIWebView *webView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, 350*2, 393)]; [webView setCenter:...

2019-01-18 10:59:50 7897

原创 SDWebImage 对多gif显示内存消耗过高的优化

内存过高项目中有时候会遇到当前页面用到大量gif的情况,这个时候如果仅仅用SDWebImage去加载gif的话,会出现内存暴增的现象. 这是因为 SD在对 gif 的处理过程中采用了一个数组存储 gif 的帧图片,当有大量动态图时,大量图片存在内存中,造成了内存暴增的现象.原因分析先看SDWebImage的源代码,SDWebImage通过这个类UIImage+GIF.h来处理gif,我...

2019-01-18 10:58:32 2368

转载 最火移动端跨平台方案盘点:React Native、weex、Flutter

1、前言跨平台一直是老生常谈的话题,cordova、ionic、react-native、weex、kotlin-native、flutter等跨平台框架的百花齐放,颇有一股推倒原生开发者的势头。为什么我们需要跨平台开发? 本质上,跨平台开发是为了增加代码复用,减少开发者对多个平台差异适配的工作量,降低开发成本,提高业务专注的同时,提供比web更好的体验。嗯~通俗了说就是:省钱、偷懒。...

2019-01-11 16:19:10 452

WW-wave-master.zip

波浪动画,通过正弦函数SharpLayer,和 帧定时器共同实现。 波浪动画,通过正弦函数SharpLayer,和 帧定时器共同实现。

2020-07-24

FaceID.zip

人脸识别,和支付宝的人脸识别效果一样,抓取到人脸,然后在和后台进行交互。

2020-07-24

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

TA关注的人

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