![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
iOS
hard_man
这个作者很懒,什么都没留下…
展开
-
终极方案!解决正确设置LaunchImage后仍然不显示的问题
对于如何设置LaunchImage,网络上有各种各样的教程。主要分2点:1. 正确设置图片尺寸2. 取消LaunchScreen.xib但是经过上述步骤之后,你觉得完全没有问题了,但是仍然无法显示LaunchImage。或者,你在多个模拟器上运行该程序,有的模拟器能够显示,有的模拟器不能显示。这时候你可能会有2个选择:1. 菜单-product-Clean-rebuild,也就是重新build程序。2. 菜单-Xcode-prefer原创 2016-03-15 16:18:50 · 14275 阅读 · 1 评论 -
1小时学会:最简单的iOS直播推流(三)使用系统接口捕获音视频数据
最简单的iOS 推流代码,视频捕获,软编码(faac,x264),硬编码(aac,h264),美颜,flv编码,rtmp协议,陆续更新代码解析,你想学的知识这里都有,愿意懂直播技术的同学快来看!!源代码:https://github.com/hardman/AWLive群:552660248通过系统相机录制视频获取音视频数据,是推流的第一步。 源码中提供2种获取音视频数据的方法:一是使用系统自带接原创 2016-11-14 11:34:25 · 6327 阅读 · 6 评论 -
1小时学会:最简单的iOS直播推流(二)代码架构概述
最简单的iOS 推流代码,视频捕获,软编码(faac,x264),硬编码(aac,h264),美颜,flv编码,rtmp协议,陆续更新代码解析,你想学的知识这里都有,愿意懂直播技术的同学快来看!!源代码:https://github.com/hardman/AWLive群:552660248推流流程使用rtmp协议(其他协议也类似)推流的大体流程如下: 1. 通过系统相机捕获视频及声音,该美颜的美原创 2016-11-10 23:33:21 · 4912 阅读 · 0 评论 -
1小时学会:最简单的iOS直播推流(一)介绍
最近在做iOS直播,研究了相关直播技术,主要包含两方面:推流,播放。所以这次主要研究推流技术。并将代码开源,然后在blog里做一些简单的代码解析。源代码:https://github.com/hardman/AWLive群:552660248原创 2016-11-07 00:13:19 · 11210 阅读 · 5 评论 -
仿斗鱼聊天:基于CoreText的面向对象图文排版工具AWRichText
AWRichText 基于CoreText,面向对象,极简,易用,高效,支持精确点击,UIView混排,GIF动图,并不仅仅局限于图文混排的富文本排版神器。 代码地址:https://github.com/hardman/AWRichText – 喜欢的同学可以star。 接下来会在blog中更新一些具体实现细节。简述很多app中都有聊天功能,图文混排也原创 2018-01-07 23:30:26 · 524 阅读 · 0 评论 -
关于@2x,@3x的区别及图片的绘制
为什么会有2倍,3倍图网络上会有很多的解释,这些解释都是对的。通俗点说,出现这种区别是因为,屏幕尺寸没有屏幕分辨率增长的快(所以更高清了)。所以,对于iPhone6来说,1pt(代码中的尺寸值单位,也可理解为屏幕物理尺寸的换算单位)代表2px。对于iPhone6P来说,1pt代表3px。所以对于iPhone6P和iPhone6来说,我们如果都想在屏幕上显示一个100ptx100pt的图片。iPho...原创 2018-06-08 19:45:05 · 14912 阅读 · 0 评论 -
iOS的KVO实现剖析
KVO原理对于KVO的原理,很多人都比较清楚了。大概是这样子的:假定我们自己的类是Object和它的对象 obj, 当obj发送addObserverForKeypath:keypath消息后,系统会做3件事情:动态创建一个Object的子类,名字可自定义假设叫做 Object_KVONotify。 同时,子类动态增加方法 setKeypath:,动态添加的方法会绑定到一个c语言的函...原创 2018-07-17 15:30:30 · 238 阅读 · 0 评论 -
iOS中你可能没有完全弄清楚的(一)synthesize
1. 什么是synthesizesynthesize中文意思是合成,代码中我们经常这样用。@interface Test: NSObject@property (nonatomic, unsafe_unretained) int i;@end@implementation Test@synthesize i;@end复制代码使用synthesize的2个...原创 2018-08-03 11:32:04 · 1294 阅读 · 0 评论 -
iOS中你可能没有完全弄清楚的(二)自己实现一个KVO源码及解析
前几天写了一篇blog(点这里),分析了系统KVO可能的实现方式。并添加了简单代码验证。既然系统KVO不好用,我们完全可以根据之前的思路,再造一个可以在项目中使用的KVO的轮子。代码已经上传到github: https://github.com/hardman/AWSimpleKVO。看了觉得有帮助的同学,可以点一下github的star。1. 功能介绍支持如下功能:...原创 2018-08-16 10:52:40 · 328 阅读 · 0 评论 -
详解AFNetworking的HTTPS模块
0.0 简述文章内容包括:AFNetworking简介ATS和HTTPS介绍AF中的证书验证介绍如何创建服务端和客户端自签名证书如何创建简单的https服务器对CA正式证书和自签名证书的各种情况进行代码验证文中所涉及的文件和脚本代码请看这里。1.0 AFNetworking简介AFNetworking(下面简称AF)是一个优秀的网络框架,从事iOS开发工作的同学几乎都用过它...原创 2018-11-25 13:50:23 · 656 阅读 · 0 评论 -
iOS应用模块化的思考及落地方案(一)模块的划分及模块化工作流程
1.0 什么是模块化很多关于重构及设计模式的介绍中,经常提到的几个词语是复用及解耦。模块化之所以被提出,也更多是为了解决这几个问题。复用可以减少重复造轮子的情况,很容易理解的是,我们经常使用的github上的第三方框架,比如,AFNetworking等,有了这些组件,我们就不需要再写一遍了。解耦可以减少类或文件之间的关联,如果一个类引用了其他10个类,那么当我们看到这个类或修改这个类的时候...原创 2019-04-28 23:53:00 · 341 阅读 · 0 评论 -
1小时学会:最简单的iOS直播推流(四)如何使用GPUImage,如何美颜
最简单的iOS 推流代码,视频捕获,软编码(faac,x264),硬编码(aac,h264),美颜,flv编码,rtmp协议,陆续更新代码解析,你想学的知识这里都有,愿意懂直播技术的同学快来看!! 源代码:https://github.com/hardman/AWLive 群:552660248上一篇文章介绍了如何使用系统方法捕获视频数据,但是更多的时候,为了使用美颜滤镜,我们原创 2016-11-16 00:03:54 · 10804 阅读 · 4 评论 -
1小时学会:最简单的iOS直播推流(五)yuv、pcm数据的介绍和获取
最简单的iOS 推流代码,视频捕获,软编码(faac,x264),硬编码(aac,h264),美颜,flv编码,rtmp协议,陆续更新代码解析,你想学的知识这里都有,愿意懂直播技术的同学快来看!! 源代码:https://github.com/hardman/AWLive 群:552660248前面介绍了如何通过相机实时获取音视频数据。我们接下来就需要了解获取到的数据到底是什么原创 2016-11-16 23:17:40 · 11476 阅读 · 12 评论 -
只有20%的iOS程序员能看懂:详解intrinsicContentSize 及 约束优先级/content Hugging/content Compression Resistance
在了解intrinsicContentSize之前,我们需要先了解2个概念:AutoLayout在做什么约束优先级是什么意思。如果不了解这两个概念,看intinsic content size没有任何意义。 注:由于上面这几个概念都是针对UIView或其子类(UILabel,UIImageView等等)来说的。所以下文中都用UIView指代。AutoLayout在做什么一个UIView想要显原创 2016-03-14 17:38:59 · 33730 阅读 · 11 评论 -
Adobe源码泄漏?3行代码搞定,Flash动画无缝导入Android/iOS/cocos2dx(一)
一. 项目介绍—软件名称:[FlashAnimationToMobile]这是一个把flash中的关键帧动画(不是序列帧)导出,然后在iOS/Android原生应用中解析并播放的一个插件。除了原生App,它也能够支持Cocos2dx(3.x)。这个库能够满足游戏,App开发中90%的2D原创 2016-04-22 18:36:44 · 7012 阅读 · 3 评论 -
Adobe源码泄漏?3行代码搞定,Flash动画无缝导入Android/iOS/cocos2dx(二)
首先确保系统中安装了flash,并且flash版本应该在cs3或者以上。然后把"源码根目录/tools/flashScript"目录内的所有文件和文件夹copy到如下目录:- Mac:~/Library/Application Support/Adobe/[Flash CS+版本号]/[en_US或者zh_CN]/Configuration/Commands- Windows:C:\Users\[用户名]\A原创 2016-04-22 19:40:15 · 6566 阅读 · 23 评论 -
1小时学会:最简单的iOS直播推流(番外)运行不起AWLive的demo的同学请看这里
最简单的iOS 推流代码,视频捕获,软编码(faac,x264),硬编码(aac,h264),美颜,flv编码,rtmp协议,陆续更新代码解析,你想学的知识这里都有,愿意懂直播技术的同学快来看!! 源代码:https://github.com/hardman/AWLive我收到了很多反馈和评论,问我为什么AWLive运行不起来。 大概是说报这样一个错误: 我实在没想到会有人问这个原创 2017-01-25 10:49:01 · 1697 阅读 · 5 评论 -
1小时学会:最简单的iOS直播推流(十一)sps&pps和AudioSpecificConfig介绍(完结)
最简单的iOS 推流代码,视频捕获,软编码(faac,x264),硬编码(aac,h264),美颜,flv编码,rtmp协议,陆续更新代码解析,你想学的知识这里都有,愿意懂直播技术的同学快来看!! 源代码:https://github.com/hardman/AWLive简述sps/pps/AudioSpecificConfig前文中已经多次提到过sps&pps/AudioSpecifi原创 2017-11-23 12:22:25 · 3166 阅读 · 0 评论 -
1小时学会:最简单的iOS直播推流(十)librtmp使用介绍
最简单的iOS 推流代码,视频捕获,软编码(faac,x264),硬编码(aac,h264),美颜,flv编码,rtmp协议,陆续更新代码解析,你想学的知识这里都有,愿意懂直播技术的同学快来看!! 源代码:https://github.com/hardman/AWLivertmp(一般大写,小写会被认为英文不好或不专业,iOS开发者对这一点更为敏感)协议是Adobe公司为Flash视频的原创 2017-11-23 12:21:27 · 2880 阅读 · 0 评论 -
1小时学会:最简单的iOS直播推流(九)flv 编码与音视频时间戳同步
最简单的iOS 推流代码,视频捕获,软编码(faac,x264),硬编码(aac,h264),美颜,flv编码,rtmp协议,陆续更新代码解析,你想学的知识这里都有,愿意懂直播技术的同学快来看!! 源代码:https://github.com/hardman/AWLive前文介绍了如何获取音视频的aac/h264数据,那么如何将数据写入rtmp流中呢? rtmp最初是Adobe Fla原创 2017-11-23 12:20:18 · 4850 阅读 · 4 评论 -
1小时学会:最简单的iOS直播推流(八)h264/aac 软编码
最简单的iOS 推流代码,视频捕获,软编码(faac,x264),硬编码(aac,h264),美颜,flv编码,rtmp协议,陆续更新代码解析,你想学的知识这里都有,愿意懂直播技术的同学快来看!! 源代码:https://github.com/hardman/AWLive软编码包含3部分内容: 1. 将pcm/yuv数据编码成aac/h264格式 2. 将aac/h264数据封装成f原创 2017-11-23 12:19:04 · 1643 阅读 · 0 评论 -
1小时学会:最简单的iOS直播推流(七)h264/aac 硬编码
最简单的iOS 推流代码,视频捕获,软编码(faac,x264),硬编码(aac,h264),美颜,flv编码,rtmp协议,陆续更新代码解析,你想学的知识这里都有,愿意懂直播技术的同学快来看!! 源代码:https://github.com/hardman/AWLive 群:552660248前面已经介绍了如何从硬件设备获取到音视频数据(pcm,NV12)。但是我们需要的视频原创 2016-12-07 22:02:59 · 8040 阅读 · 10 评论 -
1小时学会:最简单的iOS直播推流(六)h264、aac、flv介绍
最简单的iOS 推流代码,视频捕获,软编码(faac,x264),硬编码(aac,h264),美颜,flv编码,rtmp协议,陆续更新代码解析,你想学的知识这里都有,愿意懂直播技术的同学快来看!! 源代码:https://github.com/hardman/AWLive 群:552660248前面介绍了如何捕获音视频原始数据,介绍了yuv和pcm。下面来介绍一下我们的想要转换原创 2016-11-24 22:43:38 · 4540 阅读 · 1 评论 -
iOS应用模块化的思考及落地方案(二)模块化自动构建工具的使用
1.0 iOS模块化中的问题前文已经介绍了模块化的流程及一些常见的问题,我们在这里再次总结一下。在工作中,当我们开始一个新项目的时候,最先考虑的就是模块化工作。模块化工作的想法是很美好的,可是执行过程中会遇到很多的问题,而这些问题可能会让我们在工作中举步维艰。工具使用问题。iOS的模块化一般会使用cocoapods工具,这个工具很强大,内容也很丰富,我们想要完成模块化工作,需要建立私有...原创 2019-04-28 23:54:09 · 311 阅读 · 0 评论