- 博客(22)
- 资源 (1)
- 收藏
- 关注
原创 iOS - 性能优化
CPU和GPU在屏幕成像的过程中,CPU和GPU起着至关重要的作用CPU(Central Processing Unit,中央处理器)对象的创建和销毁,对象属性的调整,布局计算,文本的计算和排版,图片的格式转换和解码,图像的绘制(Core Graphics)GPU(Graphics Processing Unit,图形处理器)纹理的渲染在iOS中式双缓冲机制,有前帧缓存,后帧缓存屏幕成像原理卡顿产生的原因垂直同步信号过来,CPU/GPU还没有渲染完成,这将会导致出现卡顿的现象。卡顿
2020-10-03 17:50:06
221
原创 iOS - KVO/KVC窥探
iOS用什么方式实现对一个对象的KVO?(KVO的本质是什么?)1> 利用runtimeAPI动态生成一个子类,并且让instance对象的isa指针指向这个全新的子类2> 当修改instance对象的属性时,会调用Foundation的_NSSetXXXValueAndNotify函数a. willChangeValueForKey:b. 父类原来的setterc. didChangeValueForKey:3> 内部会触发监听器(Oberser)的监听方法(observe.
2020-07-22 15:50:32
190
原创 iOS - OC对象的本质
Apple 源码网址 - https://opensource.apple.com/tarballs/A.一个NSObject对象占用多少内存?系统分配了16个字节给NSObject对象(通过malloc_size函数获取)但NSObject对象内部只使用了8个字节的空间(64bit坏境下,可通过class_getInstanceSize函数获取)```NSObject *obj = [[NSObject alloc] init];// 获得NSObject实例对象的成员变量所占用的大小 &g
2020-07-22 10:46:08
284
原创 App如何避免网络安全隐患
随着现在很多iOS的APP没有做任何的安全防范措施,导致存在很多安全隐患和事故,今天我们从以下几个方面来聊聊开发人员平时怎么做才更安全。一、网络方面用抓包工具可以抓取手机通信接口的数据。以Charles为例,用Charles可以获取http的所有明文数据,配置好它的证书后就可以模拟中间人攻击,获取https加密前的明文数据。1.1 中间人攻击先简要地说下什么是中间人攻击:①客户端:“我是客户端,给我你的公钥” -> 服务端(被中间人截获)。所以现在是:客户端->中间人②然后中间
2020-06-17 14:46:24
932
原创 iOS 项目文件、库大小监控
背景回归脚本中需要用到Bash Shell版本是4.0以上确认系统中使用的 Shell 是 bash$ echo $SHELL/bin/bash查看系统中 Bash Shell 的版本(方法一)$ bash --versionGNU bash, version 3.2.25(1)-release (i686-redhat-linux-gnu)Copyright © 2005 Free Software Foundation, Inc.查看系统中 Bash Shell 的版本(方法二)$
2020-05-27 11:50:37
949
原创 iOS 长截图
背景项目中遇到对视图进行截图,视图中部分文本内容返回的格式是Html,用WKWebView对Html进行加载展示后对整块视图进行截图WKWebView出现部分内容展示空白。// 截图 UIGraphicsBeginImageContextWithOptions(self.headerView.frame.size, NO, [UIScreen mainScreen].scale); [self.headerView.layer renderInContext:UIGraphicsGet
2020-05-25 15:26:01
715
原创 iOS - 保存图片至系统相册
iOS - 保存图片至系统相册背景保存图像至相册方法UIImageWriteToSavedPhotosAlbum()AssetsLibrary框架 (==iOS 4.0被引入、iOS 9.0被废弃==)Photos框架相册图片展示问题插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少...
2020-05-25 14:14:34
4160
1
原创 iOS 上架问题整理
网络异常 -1005多工程打发布包问题上传iTunes我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计 ,将会带来全新的写作体验;在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行展示;增加了 图片拖拽 功能,你可以将本地的图片直接拖拽到编辑区...
2020-05-25 14:12:34
2075
1
原创 CocoaPods 卸载与安装
CocoaPods应该是iOS最常用第三方类库管理工具,绝大部分有名的开源类库,都支持CocoaPods,在我们iOS应用当中基本都使用到了CocoaPods来管理第三方库,sudo gem install cocoapods --version 0.39.0
2020-05-25 14:05:56
706
原创 iOS 微信支付SDK -canOpenURL: failed for URL: “weixinULAPI://“ - error: “This app is not allowed to query
微信SDK1.8.6或以上版本都需要设置通用链接,按照流程下来一切都没问题,但是注册时提示(图1)问题,尝试后发现设置白名单的时候设置成了字典类型,导致微信获取不到的原因,只要设置成Array就可以了。sendEve...
2019-10-28 18:16:10
349
1
原创 iOS - 网络流量监控
背景应用程序中,聊得最多的话题就是网络,毕竟网络是前端和后端数据传输的核心,那怎么去判断网络的好坏呢,那就是通过网速,网速受到很多方面的影响,例如:基站数、发起通讯数目、硬件性能等等。在开发测试中,菊花等待框并不能直观的展示出来网速的快慢,最直观的那就只有数字大小。网络端口信息C语言 ==getifaddrs()==函数,它可以查找到系统所有的网络接口的信息,包括以太网卡接口和回环接口等...
2019-10-28 17:54:46
1353
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人