1、前期准备:需要在融云注册app,获取appkey在AppDelegate中进行注册。环境分为开发环境和生产环境,调试可以用开发环境,app上线需要注册生产环境。 2、获取用户token(用来用户身份认证的,通过用户的token,获取用户的信息)的过程: 如果没有服务器,融云提供了调试的接口,点击 Read More
posted @ 2018-03-23 13:54 微凉空间 Views(527) Comments(0) Diggs(0) Edit
AVAudioPlayer苹果官方上说一般用于播放本地音频,不能用于播放网络上的音频。 具体的代码:先导入 #import <AVFoundation/AVFoundation.h> //本地音频的路径 NSString * path = [[NSBundle mainBundle] pathFor Read More
posted @ 2016-12-29 17:05 微凉空间 Views(528) Comments(0) Diggs(0) Edit
AVFoundation视频流的捕捉: 要捕捉视频需要这几个类: AVCaptureDevice 代表了输入设备,例如摄像头与麦克风。 AVCaptureInput 代表了输入数据源 AVCaptureOutput 代表了输出数据源 AVCaptureSession 用于协调输入与输出之间的数据流 Read More
posted @ 2016-12-27 00:25 微凉空间 Views(123) Comments(0) Diggs(0) Edit
图层就是我们所说的CALayer层,视图就是我们所说的UIView层。 UIView有三个比较重要的布局属性:frame,bounds和center,CALayer对应地叫做frame,bounds和position。为了能清楚区分,图层用了“position”,视图用了“center”,但是他们都 Read More
posted @ 2016-12-04 12:35 微凉空间 Views(419) Comments(0) Diggs(0) Edit
一:基本画线: 使用贝赛尔曲线画: //创建路径 UIBezierPath* aPath = [UIBezierPath bezierPath]; //设置线宽 aPath.lineWidth = 5.0; //线条拐角 aPath.lineCapStyle = kCGLineCapRound; / Read More
posted @ 2016-12-02 17:15 微凉空间 Views(162) Comments(0) Diggs(0) Edit
1. sqlite是轻量型、关系型管理系统,是嵌入式的,占用资源低、可移植性强,比mySql处理速度快,现在主流的版本是sqlite3 2. sqlite中的数据类型有TEXT(字符串,采用UTF-8,UTF-16编码)、(REAL)浮点型、(INTEGER)有符号的整型、(BLOB)大二进制数据, Read More
posted @ 2016-11-10 21:52 微凉空间 Views(304) Comments(0) Diggs(0) Edit
RunLoop 即运行循环,也叫事件循环,本质为一个死循环。iOS一个程序运行起来之后,默认会开启一个运行循环,有需要处理的操作时,比如用户的输入事件时,RunLoop会自己跑起来运行,没有需要处理的事件时进入休息休眠的状态,充分节省CPU资源,提高程序的性能。 一、RunLoop的作用: 1.保证 Read More
posted @ 2016-10-30 15:28 微凉空间 Views(120) Comments(0) Diggs(0) Edit
为了保证线程安全,不会因为多个线程访问造成资源抢夺,出现的运行结果的偏差问题,我们需要使用到线程同步技术,最常用的就是 @synchronized互斥锁(同步锁)、NSLock、dispatch_semaphore、原子锁等。 使用方法: 一、 @synchronized(实例化对象){ 要加锁的代 Read More
posted @ 2016-10-28 15:34 微凉空间 Views(187) Comments(0) Diggs(0) Edit
1.Siri API 的开放自然是 iOS 10 SDK 中最激动人心也是亮眼的特性。Apple 加入了一套全新的框架 Intents.framework 来表示 Siri 获取并解析的结果。 在 iOS 10 中,我们只能用 SiriKit 来做六类事情,分别是:语音和视频通话、发送消息、发送或接 Read More
posted @ 2016-10-16 17:16 微凉空间 Views(157) Comments(0) Diggs(0) Edit
屏幕适配的解决方案: 1.使用frame:可以使用[UIScreen mainScreen].bounds.size.height来判断是哪个版本,根据屏幕的宽高进行计算控件的大小位置,这种方法,代码复杂,容易出错;而且维护难度大,灵活性极差,一些子控件的布局如果各个版本没有变化,可以使用frame Read More
posted @ 2016-10-16 16:30 微凉空间 Views(236) Comments(0) Diggs(0) Edit