iOS技术笔记
Yaso_GG
不断学习,积少成多.
展开
-
【Github】如何取消已fork的repository
Github fork太多repository不便于我们查找使用,这个时候需要取消一些repository的fork,那么如何取消呢?简单分为以下四步:一. 进入自己已fork的repository内:二. 选中setting tab:三. 滑到底部点击 Delete this repository:四. 输入对应repository名称,删除成功:原创 2017-07-30 00:28:55 · 1525 阅读 · 1 评论 -
【iOS】简单易用的折线图控件
一个简单易用的折线图控件:最近项目工程中需要用到一个折现图,看了网上的一些例子,但都不能满足UED的特殊要求,所以只能自己写了一个。基本实现以下功能: - 支持自定义Y轴坐标数 - 支持自定义X轴显示索引 - 添加参考线、点击标线 - 支持自定义弹出说明视图 ····· 先来看下效果图:原创 2017-07-28 18:45:18 · 1887 阅读 · 0 评论 -
【iOS】渐变水波 YAWaveView
一个渐变水波视图,水波视图相信大家已经司空见惯,但是最近视觉要求绘制一个波浪是渐变色的,且背景是径向渐变的水波,于是在原来的基础上做了相应改进。先来看下效果图:基本实现以下功能:支持自定义水波形状支持自定义背景渐变支持自定义两层水波独立渐变色支持波纹周期、速度、振幅等自定义 ·····Demo见github YAWaveView,喜欢的话请star下^_^使用说明YAWaveView原创 2017-08-18 16:22:41 · 913 阅读 · 0 评论 -
【iOS】Runtime解读
Runtime机制是Objective-C的一个重要特性,是其区别于C语言这种静态语言的根本,C语言的函数调用会在编译期确定好,在编译完成后直接顺序执行。而OC是一门动态语言,函数调用变成了消息发送(msgSend),在编译期不能确定调用哪个函数,所以Runtime就是解决如何在运行期找到调用方法这样的问题。原创 2017-07-27 19:07:26 · 420 阅读 · 0 评论 -
【shell】执行shell脚本报错 Operation not permitted处理
-bash: ./install.sh: /bin/bash: bad interpreter: Operation not permitted出现这个问题的主要原因是:-rwxrwxrwx@ 文件的属性最后带个@,这个@代表的是更多的一些属性,具体含义不太清楚,但有它就是执行不了解决原创 2017-07-27 14:09:58 · 15809 阅读 · 1 评论 -
【iOS】越狱检测
前段时间公司让做了个对越狱设备的检测和拦截,下面是综合自己的开发和网上一些帖子的总结,总体来说做起来还是比较简单的,但是有一个大坑一定要注意!!原创 2017-07-25 23:16:35 · 2607 阅读 · 1 评论 -
【iOS】简述下OC block的实现
block 实际上是OC 对闭包closure的实现block的数据结构先来看下block的结构示意图及各组成部分含义: 1. isa:该对象是什么 2. flags:block附加信息 3. reserve:保留变量 4. invoke:函数实现指针 5. descriptor:block 描述符,主要是block的一些附加信息 6. variables:capture过来的变量这样原创 2017-07-26 16:06:04 · 963 阅读 · 1 评论 -
【iOS】category重写方法的调用
前两天工程中,出现了一个类的两个分类(自己实现了一个,第三方SDK里有一个),同时实现了一个方法名相同的方法,当时就产生了一个疑问,当实际调用时调的是哪个分类的方法呢?原创 2017-07-25 15:07:39 · 4758 阅读 · 1 评论 -
【iOS】简述CocoaPods私有库创建流程
简明扼要的概述下CocoaPods私有库的创建过程、一、创建私有库管理仓库Spec Repo1.在git上创建一个仓库 SpecRepo:用来管理私有库.podspec文件2.将SpecRepo clone到本地 # pod repo add [Private Repo Name] [GitHub HTTPS clone URL]二、制作podspec文件1.在git上创建项目仓库 MyProject原创 2017-08-08 23:16:01 · 532 阅读 · 0 评论 -
【objective-C】OC对象和CF对象之间的桥接转换(bridge)
1.__bridge:CF和OC对象转化时只涉及对象类型不涉及对象所有权的转化2.__bridge_transfer:常用在讲CF对象转换成OC对象时,将CF对象的所有权交给OC对象,此时ARC就能自动管理该内存;(作用同CFBridgingRelease())3.__bridge_retained:(与__bridge_transfer相反)常用在将OC对象转换成CF对象时,将OC对象的所有权交给CF对象来管理原创 2017-07-31 23:00:34 · 760 阅读 · 0 评论 -
【Objective-C】类型编码及对应字节大小
Objective-C 类型编码 typeEncode及各类型对应字节大小原创 2017-07-30 16:29:05 · 785 阅读 · 0 评论 -
【iOS】TestFlight 发布包测试
一.背景 现阶段大部分公司在测试和回归期间都是习惯使用测试包,等测试回归没问题了,才打正式发布包发布,由于测试包和发布包在打包时间点和打包过程上存在差异,所以特别容易出现发布包和回归测试的测试包不一致的情况。使用自动化打包,如果打包脚本出现问题,更容易出现这种情况。二.解决方案所幸的是,苹果在iOS8之后推出了TestFlight,使我们在提交前可以安装发布包进行测试,所以我们可以把测试周期拆分.原创 2017-07-30 16:17:23 · 1171 阅读 · 0 评论 -
【libffi】动态调用&定义C函数
这段时间在做一个组件开发,要实现JS那边动态调用一个含有block参数的OC方法,接触到了libffi,主要涉及使用libffi 动态调用和定义C函数两个方面,下面是使用之后的一些总结。一、Calling Convention高级语言编译器将代码编译成相应汇编指令时都会依据一系列的规则,这些规则十分必要,特别是对独立编译来说。其中之一是“调用约定” (Calling Convention)原创 2017-07-29 15:41:11 · 6247 阅读 · 0 评论