Bryan Yang

其修远兮,上下求索

嗨,我是杨彪,一名iOS开发者,正在探索iOS求学之道。路漫漫兮修远兮,吾将上下而求索。


  1. 视屏录制、压缩、iOS音视频开发杂谈

    视频录制先看一张iOS录制方式的总结UML类图: UIImagePickerController UIImagePickerController:系统的相机控制器,只能设置一些简单参数(如视频的画质等),自定义程度不高,只能自定义界面上的操作按钮。 AVFoundation AVFoundation:是一个可以用来使用和创建基于媒体的框架,它提供了一个能使用基于视频监听数据的接口。类图中的AVC …

    继续阅读

  2. 基于OAuth2的开放平台

    前序最近部门搭建了一个基于OAuth2的统一用户认证开放平台,因为是搭建初期,文档和平台建设还不够完善,需要对接的第三方又比较多,所以大伙都在忙着充当一个“开放平台客服”的角色在忙着辅助第三方接入平台的事情。那么,既然是辅助别人接入,首先我们自己就得搞清楚以下两个问题: 什么是开放平台? 什么是OAuth2?带着这两个问题的思考,进行下面的阅读。 开放平台介绍什么是开放平台?百度百科定义: …

    继续阅读

  3. Xcode Template:工程模版、子工程模版、类文件模版

    前序一直准备写一篇关于Xcode Template模版制作的文章,昨天听同事提到Xcode Template,并决定抽时间写一篇关于Xcode Template制作的文章,文章包括三部分: 为什么要定义这些模版 Xcode工程模版和子工程模版 Xcode的类文件模版 为什么要定义这些模版遵守代码规范可以提高代码可读性, 降低后期维护成本. 当我们定下了一个团队都认同的代码规范, 如我们要求 …

    继续阅读

  4. CocoaPods建立自己的仓库

    前序作为iOS开发,无论你是小白还是远古时代MRC的大神,相信没有人不知道CocoaPods,如果不知道的话,那么你应该去面壁十分钟怀疑自己了~github几乎所有(或者说全部)优秀的iOS开源框架都提供了Cocoapods Installation方式,由此可见,CocoaPods的使用为我们开发带来了极大的便利。那么问题来了:我们改如何去构建自己的Cocoapods仓库呢? CocoaPod …

    继续阅读

  5. LLVM编译器之Clang前端

    前沿 瞻仰大佬 Chris Lattner 三大杰作: Clang LLVM Swift 2010年开始编写 Swift语言,而且一个人实现了Swift的大部分基础架构;他也是 LVVM 以及 Clang的主要开发者。 什么是LLVMLLVM官网 The LLVM Project is a collection of modular and reusable compiler and to …

    继续阅读

  6. 开发中用到的工具记录

    记录一下在开发的过程中使用到的一些小工具,这些小工具给我们带来了极大的便利。 (什么Xcode、Git、CocoaPods等就不写了,基本配置) go2shellGo2Shell 可以在 Finder 中打开当前目录的终端窗口,是一个对开发者来说非常有用的App。特点:软件开发工具、小巧(大概只有2M)、免费、功能简单易用。 iTermiTerm 是一个为Mac OS X编写的,功能齐全的终端 …

    继续阅读

  7. iOS中的armv7、armv7s、arm64、i386、x86_64等指令集的作用

    前序我们常常在开发中看到一些熟悉的字眼armv7、armv7s、arm64、i386、x86_64,但是又都不太清楚他们具体表达的什么,还时常会弄混淆。那么,他们到底是什么呢?我们在Xcode中又该如何选择? 概念armarm处理器,特点是体积小、低功耗、低成本、高性能,所以几乎所有手机处理器都基于arm,在嵌入式系统中应用广泛。 arm处理器指令集armv6|armv7|armv7s|arm6 …

    继续阅读

  8. MJExtesion源码解析

    前沿 A fast, convenient and nonintrusive conversion between JSON and model. Your model class don’t need to extend another base class. You don’t need to modify any model file. 一个快速、方便、无侵入性的Json转模型框架,不需 …

    继续阅读

  9. Weak的实现原理

    很少有人知道weak表其实是一个hash(哈希)表,Key是所指对象的地址,Value是weak指针的地址数组。更多人的人只是知道weak是弱引用,所引用对象的计数器不会加一,并在引用对象被释放的时候自动被设置为nil。通常用于解决循环引用问题。但现在单知道这些已经不足以应对面试了,好多公司会问weak的原理。weak的原理是什么呢?下面就分析一下weak的工作原理(只是自己对这个问题好奇,学习过 …

    继续阅读

  10. 浅谈MVVM框架,以及如何去写MVVM

    对于MVVM框架,大家应该并不陌生,如果对这方面还不清楚的,可以去看一下一下三篇文章,应该会有一个比较清楚的认识。 MVVM奇葩说被误解的 MVC 和被神化的 MVVMiOS 架构模式–解密 MVC,MVP,MVVM以及VIPER架构 读了这三篇文章,你应该就不会对MVVM陌生了, 我这里算是对以上几篇文章以及个人的理解,上代码展示一下自己认为的MVVM写法,当然:我这里的写法是从唐巧的猿题库里面 …

    继续阅读