自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 资源 (12)
  • 收藏
  • 关注

原创 Objective-C对象模型

网上好多英文版的。看的累。自己写个中文的。 一个箭头方向代表指向, 虚线代表isa指向,实线代表父类指向注意几个细节 所有元类的isa 都指向根元类,根元类指向他自个 注意到根元类的父类是根类。。。就连起来了 根类的父类是nil ,所以找不到就nil了参考文章类的成员变量 这些是在rutime 源码里的,所以方法列表什么的我都没找到。(Child) $0 = { Fa

2017-08-31 17:19:50 353

原创 block

这是看了唐巧的block的实现的感悟 NSMutableArray *array = [NSMutableArray array]; [array addObject:^{}];这段代码什么含义呢:打印结果 是一个数组,包含了一个全局block。Printing description of array:<__NSArrayM 0x170258b70>(<__NSGlobalBlo

2017-08-31 14:56:01 231

原创 导入ffmpeg 遇到的问题

拖进包含ffmpeg 的库所添加的处理的信息 要在 user head search head 添加头文件 $(PROJECT_DIR)/TWIPCSDK/FFmpeg/include 然后要添加这几个库 libiconv.tbd libz.tbd libbz2.1.0.tbd 这三个库文件 bitcode 要设置为NO10 duplicate symbols for archite

2017-08-24 17:03:00 992 2

原创 直播基础

学习直播的内容 需要知道的是直播的过程 如果是主播端,需要获取摄像头的图像 不断转换为H.264的格式 音频需要 转换为aac 的格式,这个过程被称作编码的过程如果是用户观看的客户端,需要从网络中获取 H.264的文件,通过 OPGL渲染图像到view视图上,从网络中获取aac文件,把aac文件 转换为可播放的音频格式 再做音视频的同步播放处理。参考文章这篇基础的文集之前就看过,没有详细的看

2017-08-24 09:01:13 583

原创 从iOS 使用jenkins 自动化打包说去

最近经常看见关于jenkins 各种文章,大约是anroid/iOS端的共同打包处理。UITest等,其中最为突出的一点就是能够可视化所有的结果。 于是找了几篇详尽描述的博文,开始集成并完成项目的打包工作。 jenkins的安装并不复杂,首先是要安装java环境,然后再安装jenkins 当jenkins安装完成后,会在你的电脑下新增一个jenkens用户,这个用户环境就是干净的。打开jenki

2017-08-22 10:56:16 767

转载 iOS "此证书由未知颁发机构签名"此问题的解决方法

iOS “此证书由未知颁发机构签名”此问题的解决方法

2017-08-17 15:43:06 521

翻译 ios 证书与 profile

本地打包没啥问题 ,因为苹果已经各种自动化了在jenkins 打包确实难到我了 基本上把能尝试的方法都试了一个遍现在我是把账号都删了 证书也都删了 profile的文件夹也清空了然后重新来尝试打包用的是企业版的发布证书报错信息是Your account already has a signing certificate for this machine but it is not present

2017-08-17 15:05:58 1280

原创 ios collectionview 的转场效果

cell 的图片预览 一般都有个流畅的转场效果这个效果的思路是写导航转场的代理为自定义 这样就不会走导航的代理 会走你定义的转场代理写转场代理对象 拿到转场前控制器 转场控制界面 和转场后控制器将cell 图片拿个大尺寸的截图做个截图frame 和透明度变化 一开始是cell的frame 变化后是转场后图片的frameiOS自定义转场详解02——实现Keynote中的神奇移动效果

2017-08-11 10:27:54 339

原创 ios 模仿系统相册 预览

系统相册的视频和图片 左滑动 和右边滑动都是可以看下一张图片的然后有视频还能够播放视频考虑到图片很多需要使用复用所以采用 collectionview 来实现让cell 和屏幕的大小相等collectionview 的每个也和屏幕大小相等从横方向滑动就可以了cell 的照片很容易实现cell 的视频就很麻烦了因为视频是用的avplayer 其实就是把abplayer 的layer层到cell 图像的

2017-08-10 11:57:57 1223

原创 ios 极光推送别名

app需求中存在点对点推送app中又存在多个登录账号作区分的方法就是使用别名每个登录用户在服务器端都存有一个userid当登录成功后 就把userid 作为别名 传给极光服务器极光就可以根据唯一的userid判断登录用户,发送消息了当退出登陆的时候 ,就把userid置空再传给极光服务器因为userid 在已经换掉了。所以客户端是接收不到推送消息的就是这样。参考资料:iOS 极光推送设置别名

2017-08-07 16:39:57 2205

原创 ios 3Dtouch 照片预览

#pragma mark - peek的代理方法,轻按即可触发弹出vc- (UIViewController *)previewingContext:(id )previewingContext viewControllerForLocation:(CGPoint)location{ //通过[previewingContext sourceView]拿到对应的cell的数据; N

2017-08-07 10:50:37 489

原创 ios 后台多文件下载

后台下载花了很长时间最终还是完成了后台用urlsession来下载任务使用nsoperation的子类来管理nsoperationqueue 来控制最大并发添加下载的时候将下载任务名添加到数组将数组写入沙盒并给每个下载任务添加一个模型 写入沙盒包含下载的信息进入下载管理界面就是会从沙盒中读取任务列表再读取每个任务对应的模型根据 任务当前下载的长度 和总共需要下载的长度判断任务的状态 再继续进行下载。

2017-08-05 17:23:34 1359

原创 urlsession 与后台下载

文件下载研究了几天 有两个问题始终绕不过去什么时候是ui中的等待中? 什么时候是ui中的下载中?后台下载怎么处理苹果所暴露出来的代理只有下载进度 下载完成数据相关的代理typedef NS_OPTIONS(NSUInteger, WHCDownloadState) { WHCNone = 1 << 0, WHCDownloading = 1 << 1, WHCDownl

2017-08-01 19:20:11 283

iOS (socket+H264+videoToolbox)视频内存增长与播放速度控制

通过对视频流的内存预分配,避免数据传输的多次创建和free操作,从而避免内存的无限攀升问题 参见 https://blog.csdn.net/github_35041937/article/details/92075305 文章采用Videotoolbox对H264文件进行硬解码,同时保持播放速度为40毫秒数值。

2019-06-15

基于iOS的网络音视频实时传输系统(H264+pcm+videoToolbox)无第三方实现

基于iOS的网络音视频实时传输系统(H264+pcm+videoToolbox)无第三方实现 tcp 局域网 编解码 音视频 https://blog.csdn.net/github_35041937/article/details/89192781

2019-04-11

ios 录音播放udp数据包传输过来的pcmData流

https://blog.csdn.net/github_35041937/article/details/88354621 一般的文章都会写pcm文件的播放 以及pcm文件的录音 我这里写的是一台手机录音 把采集到的pcm数据 通过socket 发送给服务端 另外一台手机作为服务端 把从socket端接收到的pcm数据 通过麦克风播放出来就搞定。 https://www.jianshu.com/p/5f0b807e5a73 这篇文章写了udp的通讯 然后我自己添加了录音的部分 使用了AudioUnit 这种方案可以做到低延时 还添加了AudioQueue的方案进行播放 因为udp的不可靠性 我要防止udp的丢包和粘包 于是加上了 协议头 音频标识 音频长度 拼接在最前面 我没处理粘包改怎么做,建议你们自己加,大概思路就是 把两个包合成一个包来处理即可。 写这篇文章的时候还参考了另外一篇文章的思路 https://www.jianshu.com/p/d903d2c8ffd2 说到了遇到网络卡该怎么处理 一点是要缓冲一段再播放, 另外一点就是加上空的静音包, 来保障音频的连续性。

2019-03-08

在Mac中编译Android平台的FFmpeg( arm和x86 )

mac电脑编译ffmpeg的脚本https://blog.csdn.net/github_35041937/article/details/83754270

2018-11-06

ios pthead 线程mutex锁 cond条件锁 一个例子就解决

ios平台的相关博客 很少会讲到pthread 的用法 这里用一个简单的例子,来将c 的线程 线程锁,条件锁一次性讲清楚 题目很简单,就是一个工厂的生产者在生产苹果 一个消费者在一直消费苹果,就用代码来实现这个过程 https://blog.csdn.net/github_35041937/article/details/83745211

2018-11-05

ios 编译curl openssl 并下载文件

ios 环境 使用curl https 不用iOS原生的网络请求 而用c语言的网络请求来下载文件,下载后保存到沙盒里面

2018-10-30

ios urlsession 同时下载多个文件缓存到本地(非afn)

同时下载6个请求然后缓存到cache文件夹,非afn ,代码量很少,很轻, 使用的是ios的urlsession,用来提升缓存速度,提升响应时间。详情效果请看 https://blog.csdn.net/github_35041937/article/details/83304516

2018-10-23

ios 裁剪第三方库脚本

验证方法是自己做个静态库 ,打一个MBProgressHUD进去 然后在项目中引入这个静态库,尝试在项目中引入MBProgressHUD 造成duplicate symbol 错误,然后运行脚本 裁剪库后修改库名 再次运行,项目能跑通 代表裁剪成功。 这里我只做了裁剪一个import文件 如果需要裁剪多个文件 需要自己动手修改这个脚本。

2018-09-27

ios 实时监控每秒请求的网卡网络数据

1.App类的只能取判接收数据 2.App外的可以监控网卡,注意监控网卡是总流量的消耗 如果不准,看看是不是通知推送 4g流量消耗等等 因为比较简单就直接贴代码出来 本文来自 github_35041937 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/github_35041937/article/details/82805212?utm_source=copy

2018-09-21

ios 日志分享

ios日志分享,将终端打印的全部内容,一丝不苟的分享到微信,qq等地方,便于h5端查看ios原生端的日志,方便崩溃前日志的查看。

2018-09-20

pod 添加支持断点调试的静态库

这里只是一个非常简单的项目,如果你的静态库需要做组件化下的断点调试, 那这就是你要找到的答案。

2018-08-27

ios平台使用ffmpeg 将ts转码MP4

ios平台 最简单的基于FFMPEG ts视频文件转码mp4. 视音频分离器讲解的是将ts本地文件转换为 h264 + aac的过程 视音频复用器讲解的是将h264+aac封装为mp4 文件的过程 相关博客 https://blog.csdn.net/github_35041937/article/details/81481292 已经检验过quicktime 可以播放 ios系统可以播放

2018-08-07

空空如也

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

TA关注的人

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