自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(60)
  • 资源 (10)
  • 收藏
  • 关注

原创 Homebrew Update 报错问题

brew update homebrew更新

2023-07-12 14:16:30 583

原创 pod search 报错 ruby环境问题

系统升级后 cocoapods install 报错 信息如下解决方式 :1.升级 gem ruby 环境第一步 审计 gem使用brew 库管理工具$:brew install gem升级后设置镜像$:gem sources -a https://gems.ruby-china.com/查看升级后的镜像是否设置成功gem sources -l成功如下2. 升级ruby$: brew install ruby表示成功这时你查看ruby版本发现还是以前的2.6版本

2021-11-19 18:22:00 740

原创 使用国内镜像clone

使用国内镜像,目前已知Github国内镜像网站有github.com.cnpmjs.org和git.sdut.me/。速度根据各地情况而定,在clone某个项目的时候将github.com替换为github.com.cnpmjs.org即可。//这是我们要clone的git clone https://github.com/Hackergeek/architecture-samples//使用镜像git clone https://github.com.cnpmjs.org/Hackergeek/a

2021-11-03 13:47:54 369

原创 git clone 443

1 查询网址域名对应的IP 在该网址查询域名对应的ip2 分别查询github.com和github.global.ssl.fastly.net对应的ip地址3 将结果拼接到到hosts文件里(在桌面上Command+Shift + G)弹出框内输入/etc在文件列表里找到hosts4 将修改好后的hosts文件再次放入etc内即可...

2021-11-03 11:33:25 185

原创 replaykit2屏幕共享 webRTC发送共享画面

iOS 出了replaykit2 后实现了系统屏幕录制功能,终于不在只能应用内录制了,在外部宣讲ppt,变的容易了许多,如何创建使用这个网上有很多extension使用的方法,我在这里也不想多赘述,毕竟是固定方式方法 我这里想讲讲关于如何将在extension中录制的视频流传回主app并将视频流发送到远端,这才是最关键,也是replaykit2这个功能的难点主要需要解决的问题2.将共享的视频转换成可以传输的数据类型,在转回CMSampleBufferRef,用于编码或者其他3.共

2021-05-11 14:56:32 1047 1

原创 replaykit2处理

####习惯性的开始前先叙个旧,感慨下,距离上次写博客已经很久时间了,感觉要学的东西很多,学的也很杂乱,今天难得感觉心情比较轻松,想着写写以前弄的东西,慢慢回忆一下,所以先从现在这个开始吧,replaykit在ios9时已经出来了,那是还只允许在app内录制,还不支持录制桌面及其他应用,我之前的博客中有详细的介绍如何使用replaykit实现app内的录制,这里不再赘述了replaykit app内录制特点replaykit2在replaykit的基础上增加了能录制桌面,退到后台打开其他应用同样

2020-10-22 11:58:09 803 2

原创 ios12.1开发包支持文件及添加方法

为xcode添加支持低版本ios开发包支持应该都用过,我将步骤整理了一下,记录下来ios12.1支持文件下载地址首先在finder中的前往文件夹中输入Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport选中DeviceSupport右键选中 显示简介 如下图点击右下角的锁 ,弹出输入Mac的...

2018-11-01 10:19:19 7018

原创 为xcode9.2添加 ios12支持文件

新换了一个Mac使用,安装xcode工程后,在终端上clone 一个github工程出现如下错误 记得在之前Mac上clone 同样的地址,没有报这个问题,在网上查了一下,打印了一下xcode地址$:xcode-select --print-path输出地址为: Applelication/developer/com…. 没有截图大概是这个地址(反正就是正常的地址不一样)网...

2018-09-17 14:06:34 4515

原创 为xcode9.2添加ios11.4支持文件

为xcode添加支持低版本ios开发包支持应该都用过,我将步骤整理了一下,记录下来 首先在finder中的前往文件夹中输入 Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport选中DeviceSupport右键选中 显示简介 如下图点击右下角的锁 ,弹出输入Mac的密码获取修改权限...

2018-08-07 14:19:33 2342 1

原创 多线程多任务顺序执行

ios开发中会用到多任务顺序执行,执行完毕在执行其他的线程任务,在面试中也会经常被问到,我这里就将方法代码记录下来作为一个笔记 我这里将通过信号量和GCD的Group实现多任务顺序执行 1.通过信号量来实现//通过模拟一个网络请求来实现一个有返回值的网络请求任务 NSString *str = @"https://www.baidu.com"; NSURL *url = [N...

2018-08-03 16:44:33 2242

原创 CoreData的使用

这边我将如何使用CoreData的示例代码记录下来,不再截图说明如何创建model模型了,截图上传麻烦(公司网限速)#import <Foundation/Foundation.h>#import <CoreData/CoreData.h>#import "Student+CoreDataClass.h"@interface CQ_CoreDataSource...

2018-07-18 17:59:34 838

原创 RxSwift之路02-----RxSwift使用方式

上篇学习了一下,简单的Rx使用的方式,这篇将更直接的使用RxSwift来写一些就简单的UI上的逻辑处理 使用下面代码即可实现一个检测用户名和密码的并作出相应处理的UI逻辑演示效果**示例代码如下**import RxSwiftimport RxCocoaclass ExampleViewController: UIViewController { let di...

2018-06-27 17:20:11 1296

原创 RxSwift之路01-----简单的RxSwift使用

使用一年多swift后终于要入坑RxSwift了和在OC时代的ReactiveCocoa没有多少差别,这里先举一些简单的使用,可以减少代码的书写,结构清晰 在不使用RxSwift时,我们写button的事件时是这样的 override func viewDidLoad() { super.viewDidLoad() let button = UIButt...

2018-06-27 14:22:00 1689

原创 Swift封装图片浏览,多张图片浏览,缩放,gif图片的播放

封装了一个图片浏览器,实现了图片的浏览,缩放,支持多张图片的浏览缩放,保存到相册等功能实现功能1.图片浏览,根据图片的大小适应,浏览长图2.多张图片左右滑动浏览3.图片的缩放4.显示gif图片并播放实现技术1.使用UICollectionView作为图片浏览的承载控制器2.自定义cell显示图片,3.使用UIScrollerView作为最底层视图 4.使用UIImag...

2018-06-14 16:25:55 2736

原创 封装Alamofire 网络数据请求

从OC转到swift后,由AFNwtWorking转为Alamofire做网络请求,下面我单独写了一个单例请求类import UIKitimport Alamofireimport SwiftyJSONlet BaseUrl = "https://httpbin.org/get"private let NetWorkRequestShareInstance = NetWorkRe...

2018-05-29 18:14:43 2531

原创 使用CollectionView实现无限轮播图(自动和手动轮播)

使用UICollectionView封装了一个无限循环的轮播图,实现手动轮播和定时器自动轮播,传入图片数组和标题数组,即可实现图片文字的轮播图,并有点击事件,实现代理方法可实现点击事件的处理///调用class HomeViewController: BaseViewController {override func viewDidLoad() { super.viewD...

2018-05-25 14:58:52 2435

原创 使用FFMpeg解码,opengl渲染,转为图片显示两种方式

使用FFMPeg解码rtsp协议的视屏流,并使用openGL渲染,1.之前有使用VLC解码但是不能满足需求,后来直接使用FFmpeg解码openGL渲染 2.使用FFMpeg解码这里解决了,解码后不能拿到视屏流多出显示的问题 3.解决了打开首帧视屏比较慢的问题,现在1-2内既能打开视屏 4.解决了找不到pps报警告的问题 5.多线程优化,解码的同时不影响UI的操作更新 解码显示可以转...

2018-05-22 18:53:49 3817

原创 Swift4.0处理日期时间

时间的处理,在开发中经常遇见的到,我们洗完处理成年月日时分秒 这里我写了一个Date的分类用于处理时间//使用非常的的方便,只需要传入时间几个转换//只需传入型如下面的时间样式就行 let creatDate = NSDate.dataWithStr(time: "Sat May 18 16:00:28 +0800 2018") label.text = creatDate.de...

2018-05-19 17:14:01 1809 2

原创 swift4.0解决setValuesForKeys无法赋值的问题

swift 4.0 以前字典转model我们使用 setValuesForKeysWithDictionary 代码如下class Status: NSObject{ //创建时间 var created_at:String? //ID var id:Int = 0 //信息内容 var text:String? //来源 ...

2018-05-13 20:34:37 1638

原创 Swift4.0中Runtime method_exchangeImplementations的使用和initialize()方法的替代

在swift4.0中load()方法已经失效initialize()也失效一时间我一度不知道怎么用运行时的method_exchangeImplementations方法,后来在网上查看总结出来下面将代码贴出来extension UIViewController {public class func initializeMethod(){ let originalSelecto...

2018-05-03 15:21:34 3172 4

原创 解决sublime Text3 编写python代码 import 导入模块没有提示

使用sublime text3编写python代码导入模块(import),没有提示,硬敲实现是太吃力,下面介绍如何解决这个问题1.Preferances-->Brows packages 进入到文件夹下,新建一个Python文件夹,然后使用sublime 新建一个Completion Rules.tmPreferences为文件名的文件,然后在Completion Rules.tmPr...

2018-04-27 09:50:17 19506 3

原创 一个完整的命令行上传代码到git的过程

//进入到工程文件夹下1.$ cd 到工程文件夹下//初始化2.$ git init//将所有文件夹添加到仓库3.$ git add .4.$ git commit -m"添加代码"//关联远程仓库 ,https地址就是仓库的地址5.$ git remote add origin https://gitee.com/chenqiangOSChina/cqweibo.gi...

2018-04-17 23:22:15 8322 1

原创 swift自定义流水布局

周末没有加班,闲来无事,就将之前Object-C写的代码功能块改为swift,项目重构时将会用到,改完测试后现在将代码贴出来做一个记录,接下来的时间都会是在项目重构上,leader让项目重构改为swift的, 1.图片加载是Kingfisher第三方 2.基于MVC设计模式设计思路 1.创建继承自UICollectionViewFlowLayout的类,重写系统方法, 2.加载layo...

2018-03-24 13:52:05 2406 1

原创 快速的创建label计算高度和自适应高度

闲来无事想着干点啥,在项目中开发可能有时候工期会很紧,想着写一些可以快速开发的东西,好多时间都浪会在写一些无用的代码中,将一些繁琐无用的东西规整,开发中直接调用,将在开发中节省很多时间就想着先重简单的东西开始做起,后续会一点点深入,计算label的高度开发中经常会遇到,一般的做法是写标签的分类添加方法或者定义一个类方法封装一个计算高度的方法,在需要的地方调用,我这里为了以后开发的方便,重写了l...

2018-03-23 09:36:44 1236 1

原创 自定义Tabbar

swift4.0实现自定义Tabbar,实现按钮中间突出,并且突出部分点击事件响应,主要代码调用如下 **实现思想, 1.中间按钮为继承自button的类,在内部设置中间按钮的图层, 2.其他按钮也是继承UIButton的类设置title和image显示的位置 3.创建一个继承自UIView的类,在这里设置tabbar的排布方式定义协议,方法,供外界调用 4.创建一个继承自UITabBa...

2018-03-20 15:12:27 293

原创 技术概念知识

1.什么是函数式编程2.什么是ABI3.什么是MVC,结合CocoaTouch4.什么是MVVM,设计view model需要考虑哪些5.swift相对于Objective-C有哪些优点6.什么是范型,swift中在哪些地方使用范型7.defer, guard的作用8.swift语法糖? ,!的本质(实现)9.举例swift中模式匹配的应用10.swift的closure与Object-C的Bloc

2018-03-13 16:57:45 176

原创 Swift设置tabbar

指定RootViewControll window = UIWindow(frame: UIScreen.main.bounds) window?.backgroundColor = UIColor.white let tabbar = CQ_TabbarViewController.CustomTabBar() window?.rootViewCon

2018-01-03 18:35:04 4184

原创 无限手动自动轮播图

项目中要用到轮播图,想起以前自己写过轮播图,就将之前的代码拷贝过了直接放到项目中应用了,今天把这篇文章写在博客上, 封装轮播图有人说可以使用UICollectionView,这种方法我没有尝试过,我使用的是利用三个UIImageView去显示,变换image实现切换图片*我在其中使用代理实现了点击对应图片的事件,并实现能监听当前滚动到哪一个index下*显现效果自动无限滚动手动无限滚

2017-12-28 18:25:35 1071

原创 使用FFMPeg解码显示ts流

公司最近项目不是很忙,就将之前弄东西整理了一下,解码直播流使用FFMPeg, 之前做的一个项目是智能家居的控制系统,加监控,这个监控有多个摄像头,每一个都要显示出来,并将预览的画面在不同的位置显示出来,达到同步的效果,之前使用的VLC解码显示的,但是太多预览源的话,每一个都要解码一次,一个是耗费性能,另一个是每次拖拽到一个控制器上就预览一个解码一次,显然这种方式,不符合要求,理想状态是,一个源直解

2017-12-18 17:53:21 6310 1

原创 封装Avplayer

自己基于AVPlayer封装了一个播放器,现阶段实现了基本功能,后续将持续更新功能,现将基本使用方法写出来实现的基本功能有全屏播放,退出全屏播放拖拽快进 后退播放播放完成点击重新播放双击暂定播放/播放单击隐藏播放进度条和视屏名称git下载只需将PlayerView文件夹放入工程中调用代码即可实现视屏播放功能 NSString *URl = self.Url; //这个Vie

2017-11-23 18:09:34 296

原创 Python--类的继承

Python中类的继承,子类拥有继承父类的方法和属性,这一点上,与Object-C中是一样的,整体上Python语法和Object-C语法很想,但是Swift与Python这两者是更像的语法上class Parent: # 定义父类 parentAttr = 100 def __init__(self): print "调用父类构造函数" def parent

2017-11-15 15:30:02 524 1

原创 应用奔溃dSYM分析

1,首先要有崩溃的app上传时候的打包文件,也就是 .xcarchive文件。这个文件可以通过以下方法找到,点击Xcode右上角的Organizer,然后点击Organizer上面的Archives,就可以看到下面有个列表,列出的都是打包的文件,其中一个就是你打包时候留下的,找到它。找到后点击右键显示包内容,看到dSYMs文件和Products文件夹 。先打开dSYMs文件夹,看到yourapp.a

2017-11-08 14:24:10 259

原创 ios多线程-NSOperation

ios开发中GCD使用很方便,开发中也应用到,NSOperation是对GCD的封装,主流框架多线程大多是使用NSOperation进行多线程开发NSOperation对比GCD NSOperation基于GCD封装,拥有更多的API在NSOperationQueue中可以指定NSOperation之间的依赖关系可以使用KVO监听状态可定制性,可以继承NSOperation实现可复用的逻辑

2017-11-02 14:36:04 288

原创 iOS多线程之GCD

Grand Central Dispatch (GCD) 是Apple开发的一个多核编程的较新的解决方法。它主要用于优化应用程序以支持多核处理器以及其他对称多处理系统。它是一个在线程池模式的基础上执行的并行任务,在ios4以后使用使用GCD的好处GCD可用于多核的并行运算(这点可以更好的发挥多核的优势)GCD会自动的利用调度更多的CPU内核GCD是自动管理线程的生命周期(创建,任务调度 ,线程

2017-11-02 11:48:15 569

原创 小数取整 四舍五入

ceil(x)返回不小于x的最小整数值(然后转换为double型)。floor(x)返回不大于x的最大整数值。round(x)返回x的四舍五入整数值。floorf(x)取整数部分

2017-09-21 09:54:12 873

原创 [已解决] brew update出错:错误:无法锁定配置文件.git / config:权限被拒绝

(不用去管/库/缓存/自制,因为找不到对应路径)直接顺序执行下面两行命令,输入授权密码,即可获取权限 sudo chgrp -R admin /usr/local sudo chmod -R g+w /usr/local继续更新 brew update

2017-08-17 16:10:47 4091

原创 ios 自带录屏框架replayKit的使用

前几个月第一次做关于ios录屏的功能,在网上看到有关于replaykit的介绍,总结之后集成到项目中,初步达到了项目要求的录屏的功能,但是在后续的测试发现,有录屏出现黑屏的情况,也有不能保存到系统系统相册的情况,后来及时改改逻辑,调用顺序就解决,现在是没什么问题了,但是感觉也不是太稳定,还没正式的使用,还不能确定不会出现问题,现在,把代码贴出来,欢迎指导指正replaykit是ios9后出的,所以r

2017-01-19 19:13:15 12262 3

原创 贝塞尔曲线

好久没有写过博客了,一个原因是项目时间很紧,一直在写项目,工作之余也在优化性能,也没有时间在想记录一下学习状态,另一个原因很简单,不想在写一些重复的知识,没什么技术含量这周闲来无事,就写一篇记录一下自己/** 创建贝塞尔曲线 画一个圆弧 */- (void)CreatBeziePath{ self.layer = [CAShapeLayer layer]; self.lay

2017-01-13 09:04:47 467

原创 基于LFLive实现rtmp推流到本地nginx服务器

基于之前搭建的nginx + rtmp服务器,现在结合LFLivekit,编码获取摄像头视屏,麦克风音频编码推流首先先将需要准备的东西下载下来集成到你的工程中去在github上下载LFLivekit集成到你的工程中去 需要在工程中添加相应的frameworkUIKitFoundationAVFoundationVideoToolboxAudioToolboxlibzli

2016-11-01 18:59:31 3615

原创 mac OSX 创建nginx + rtmp本地推流服务器

nginx搭建rtmp推流服务器很好的让我们理解和模拟推流,首先打开终端,检查是否安装了brew包管理工具 键入终端命令 $ brew如果没有显示没有安装,则安装命令如下回车ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"等待一会如果安装成功会显示如下内容 使用

2016-10-31 15:31:24 1960

xcode11 和xcode10 下 ios13.7真机开发包

xcode10和xcode11下真机测试ios13.7开发包,安装方法可以看我其他的博客中有介绍,也可以下载其他的包使用

2020-09-28

ios13真机支持文件

这是一个ios13的开发包真机支持文件,使用方法可以看我的博客中有介绍具体的方法,可以在低版本的xcode中真机测试,不用再升级xcode了

2019-09-23

ios12.4开发包.zip

下载ios12.4开发包进行配置 ,详细步骤在 https://blog.csdn.net/chenqiangblock/article/details/83616075 这个链接下有详细的步骤,进行配置,

2019-08-29

ios12.1 真机开发包支持文件

ios12.1的真机开发包支持文件,下载添加到xcode中,即可实现对低版本xcode支持当前对用的高版本ios系统

2018-11-01

ios12 真机支持文件

ios12的真机支持文件开发包,按照博客内容添加到相应的位置,博客中有介绍方法,可以看下我其他的博客内容

2018-09-19

ios11.4支持文件

添加ios11.4的支持文件,添加方法我写在博客中了,可以按步骤进行添加支持包 1.https://blog.csdn.net/chenqiangblock/article/details/81480439

2018-08-07

图片浏览器,gif浏览,缩放

1.图片浏览,根据图片的大小适应,浏览长图 2.多张图片左右滑动浏览 3.图片的缩放 4.显示gif图片并播放

2018-06-14

使用FFmpeg解码h264直播视屏流,使用openGL渲染

1.使用FFmpeg解码,通过修改FFMpeg参数,解决打开首帧慢的问题,2s内既能打开视屏 2.通过多线程的操作,解决解码渲染过程中对应用流畅度的影响 3.代码中提供转图片显示和openGL渲染两种显示格式,只需要轻微的改动即可,操作方便 4.使用时需要首先在工程中集成FFMpeg,编译FFMpeg代码可以在我的博客中找得到 5.README中已经写出转为图片显示和转为openGL渲染两种方式如何修改的代码, 6.CQMoveView为FFMpeg解码代码,openglView为openGL渲染代码,使用方式都在ReadMe中

2018-05-21

swift实现自定义流水布局

自定义流水布局实现,更具图片大小显示图片,通过代理方法传入列数宽高自适应,有演示demo,注释中写了参数的意义

2018-03-24

cqMovieView

使用FFmpeg解码rtsp流,解码YUV转为image显示,我将线程优化后,不会阻塞主线程,实现解码过程可控,可以了解学习视频解码过程

2017-12-18

空空如也

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

TA关注的人

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