自定义博客皮肤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)
  • 资源 (3)
  • 问答 (1)
  • 收藏
  • 关注

转载 sonar检查代码质量

ios项目我提供了一个sample的项目,首先git clone该项目到本地。git clone https://github.com/DoctorQ/ios_test.gitCloning into 'ios_test'...remote: Counting objects: 88, done.remote: Total 88 (delta 0), reused 0 (delt

2018-02-01 09:26:21 550

转载 iOS音频AudioQueue

本篇是AudioQueue的官方文档的笔记。Audio Queue Services可以play和record以下三类任何audio data:Linear PCM.Any compressed format supported natively on the Apple platform you are developing for.Any other format for which

2017-09-26 10:30:38 657

转载 CFSocket

一、概念理解1.什么是Socket?Socket又称为“套接字”,是系统提供的用于网络通信的方法,本质并不是一个协议,没有规定计算机怎么样传递消息,只是给程序员提供一个接口,使用这个接口提供的方法,发送和接收消息。Socket简化了程序员操作,知道对方的IP和端口号的情况下,就可以给对方发送消息,再有服务端来处理,因此需要服务端和客户端。2.Socket的通信过程每一个应用或者

2017-08-22 16:43:00 1506

转载 bzero, memset ,setmem 区别

From: http://blog.csdn.net/agathe/article/details/6066157bzero  原型:extern void bzero(void *s, int n);用法:#include     功能:置字节字符串s的前n个字节为零。    说明:bzero无返回值。    举例:  

2017-08-22 16:11:29 652

原创 ios线程阻塞之NSCondition

线程阻塞

2017-06-22 09:46:39 892

原创 Xcode编译策略之代码逻辑顺序不正确,变量不显示问题解决方案

首先检查运行的scheme是release还是debug.检查项目的Targets的Build Settings中的Optimization Level其中的debug通常为None, 以使所有的信息都能输出来。最后再检查一个比较容易忽视的地方,在scheme中的Run的位置看是看debug的diagnostics中的全部选项,应该全不选。通常容易犯错在Enable Zombie Objects。

2017-06-22 09:38:26 359

转载 iPhone安装OpenSSH和远程连接教程

在iOS的系统管理中,多半是使用命令行。在远程管理中,多半是用OpenSSH通过Wi-Fi或者3G来对iPhone、iPad、iPod Touch执行命令修改文件等操作。一句话,要想真正体验越狱,OpenSSH是必备软件。本文将引导大家如何使用OpenSSH运行命令和修改文件。OpenSSH for iOS 简介OpenSSH是一个在Linux下很实用的一个软件。iPhone本身就是一

2017-06-09 16:35:37 10084 1

转载 iOS逆向工程工具之Theos

昨天开始安装theos,网上资料好多,不知是好还是不好,开始根据【ios应用逆向工程的书】安装,发现已经过时。。然后各种百度,遇到很多坑,都不知从何说起~先将参考链接附到下面供参考:http://blog.csdn.net/woaizijiheni/article/details/49332851http://www.cnblogs.com/ludashi/p/571409

2017-06-09 16:32:38 542

转载 微信,QQ这类IM app怎么做——谈谈Websocket

前言关于我和WebSocket的缘:我从大二在计算机网络课上听老师讲过之后,第一次使用就到了毕业之后的第一份工作。直到最近换了工作,到了一家是含有IM社交聊天功能的app的时候,我觉得我现在可以谈谈我对WebSocket/Socket的一些看法了。要想做IM聊天app,就不得不理解WebSocket和Socket的原理了,听我一一道来。目录1.WebSocket使用场景2.

2017-05-23 10:48:52 1160

转载 iOS App 签名的原理

iOS 签名机制挺复杂,各种证书,Provisioning Profile,entitlements,CertificateSigningRequest,p12,AppID,概念一堆,也很容易出错,本文尝试从原理出发,一步步推出为什么会有这么多概念,希望能有助于理解 iOS App 签名的原理和流程。目的先来看看苹果的签名机制是为了做什么。在 iOS 出来之前,在主流操作系统(Mac/Window

2017-03-14 17:40:38 756

转载 Network Link Conditioner模拟不同网络环境

在Xcode4.1中有一个工具叫Network Link Conditioner,可以让用户模拟不同的网络连接和带宽,可供Mac和iOS开发者测试自己的程序在不同网络环境下的表现。在Xcode4.3中,此工具不再随Xcode工具提供,需要单独下载。在Xcode4.3中通过Xcode->Open Developer Tool->More Developer Tools…菜单 

2017-02-20 10:55:20 2048

转载 关于Xcode的Other Linker Flags中的一些参数

背景在iOS开发过程中,有时候会用到第三方的静态库(.a文件),然后导入后发现编译正常但运行时会出现selector not recognized的错误,从而导致app闪退。接着仔细阅读库文件的说明文档,你可能会在文档中发现诸如在Other Linker Flags中加入-ObjC或者-all_load这样的解决方法。那么,Other Linker Flags到底是用来

2017-02-14 15:33:58 718

原创 GCD dispatch_semaphore 信号量

dispatch_semaphore 信号量基于计数器的一种多线程同步机制。在多个线程访问共有资源时候,会因为多线程的特性而引发数据出错的问题。dispatch_semaphore 信号量可理解为开启dispatch_semaphore_create(5)五个线程通道。当调用dispatch_semaphore_wait时将占有其中一个通道。如果可占用通道为0时,将无法继续占有,会进入

2016-12-23 17:31:22 437

转载 NSURLSession与NSURLConnection区别

两者的区别主要在以下几个方面:  使用现状NSURLSession是NSURLConnection 的替代者,在2013年苹果全球开发者大会(WWDC2013)随ios7一起发布,是对NSURLConnection进行了重构优化后的新的网络访问接口。从iOS9.0开始, NSURLConnection中发送请求的两个方法已过期(同步请求,异步请求),初始化网络连接(init

2016-11-28 16:45:41 599

原创 GCD中的dispatch_barrier_async函数的使用(栅栏函数)

void dispatch_barrier_async ( dispatch_queue_t queue, dispatch_block_t block );参数queue: 将barrier添加到那个队列block: barrier block 代码块下面内容翻译自官方文档一个dispatch barrier 允许在一个并发队列中创建一个同步点。当在并发队列中遇到一个

2016-11-28 16:44:32 1813

原创 objc_setAssociatedObject 关联的使用

关联    关联是指把两个对象相互关联起来,使得其中的一个对象作为另外一个对象的一部分。    关联特性只有在Mac OS X V10.6以及以后的版本上才是可用的。在类的定义之外为类增加额外的存储空间    使用关联,我们可以不用修改类的定义而为其对象增加存储空间。这在我们无法访问到类的源码的时候或者是考虑到二进制兼容性的时候是非常有用。    关联是基于关键字的,因此,我们

2016-11-28 16:43:04 581

原创 @synchronized()的用法

@synchronized 的作用是创建一个互斥锁,保证此时没有其它线程对self对象进行修改。这个是objective-c的一个锁定令牌,防止对象在同一时间内被其它线程访问,起到线程的保护作用。 一般在公用变量的时候使用,如单例模式或者操作类的static变量中使用。# import "NetworkManager.h"static NetworkManager *netw

2016-11-28 16:26:17 356

转载 ProtocolBuffer for Objective-C 运行环境配置及使用

一 、前言最近要做一个新的项目需要用到Google的Protocol Buffer,所以最近两天一直在学习这个。在网上看了很多人写的相关博客,发现他们写的配置环境的步骤不尽相同,并且不需要那么复杂,所以就想写一篇最新的文章。 配置环境:mac OS 10.11.1 本文若有叙述错误之处,欢迎指点。二 、Protocol Buffer简介Protocolbuffer(简称Protobuf

2016-11-01 14:29:31 960 1

转载 IM 技术在多应用场景下的实现及性能调优:iOS 视角

IM 已经成为当下 App 的必备模块,在不同垂直领域,技术实现不尽相同。究竟该如何选型?技术实现过程中,又该如何进行性能调优?本篇文章分为应用场景、技术实现细节、针对移动网络特点的性能调优三个部分,具体讲解IM即时通讯技术在社交、直播、红包等不同场景下的技术实现与性能调优。需要注意,本文中所涉及到的所有 iOS 相关代码,均已 100% 开源(不存在 framework ),便于学习参考

2016-11-01 14:23:18 1443

原创 ios 通过runtime 获取属性列表并修改变量值

JSONModel第三方框架, 向服务器发起一个请求, 返回后的数据直接就是一个可用的Model。其中核心技术使用的便是runtime的反射机制,通过runtime将解析好的json数据直接存放到了我们的对象模型中。以下为自己写的一个测试demo,实现了获取属性列表并进行改值。/** 获取属性列表 */-(void)getProperties{ u_int count =

2016-10-26 16:52:18 8676

原创 UIImage与CIImage的区别

CIImage 包含了创建图片的所有必要的数据,但其本身没有渲染成图片,它代表的是图像数据或者生成图像数据的流程(如滤镜);CGImage是基于像素的矩阵,每个点都对应了图片中点的像素信息;UIImage 管理图片数据,主要用来展现,如 UIImageView 中,控件中等,也可以用来直接在 view 或其他的 context 中绘制。CIImage包含图片的所

2016-10-25 14:55:07 3008

原创 IOS 如何获取与修改图片的EXIF信息

简介:Exif是一种图像文件格式,它的数据存储与JPEG格式是完全相同的。实际上Exif格式就是在JPEG格式头部插入了数码照片的信息,包括拍摄时的光圈、快门、白平衡、ISO、焦距、日期时间等各种和拍摄条件以及相机品牌、型号、色彩编码、拍摄时录制的声音以及GPS全球定位系统数据、缩略图等。你可以利用任何可以查看JPEG文件的看图软件浏览Exif格式的照片,但并不是所有的图形程序都能处理Exif信息

2016-10-25 14:46:45 7645

原创 xcode 代码不高亮 不提示语法错误 解决方法

方法一:1.把.pch里的内容全部注释掉2.clean掉项目里的内容3.把.pch里的注释去掉,编译。4.代码高亮,语法提示功能都回来了。方法二:1.关闭项目2.选择Window->Organizer->Projects3.选择失效的那一个工程,右健,Remove from Organizer4.打开工程,失效的功能都回来了方法三

2016-09-20 09:40:21 1905

转载 iOS屏幕适配

一、iOS屏幕适配发展历程设备适配技术4及以前(iPad未出)直接用代码计算有了iPadautoResizing有不同屏幕的iPhone后autoLayout有更多不同屏幕的iPhone后sizeClass二、各个技术的特性1、 直接用代码计算由于屏幕的大小都一样,只有横竖屏的情

2016-09-15 17:47:12 387

转载 Core Data

一、概念1.Core Data 是数据持久化存储的最佳方式2.数据最终的存储类型可以是:SQLite数据库,XML,二进制,内存里,或自定义数据类型在Mac OS X 10.5Leopard及以后的版本中,开发者也可以通过继承NSPersistentStore类以创建自定义的存储格式3.好处:能够合理管理内存,避免使用sql的麻烦,高效4.构成:(1

2016-09-14 15:52:58 374

转载 @property属性关键字的作用

属性关键字的作用  现在我们iOS开发中,基本都是使用ARC(自动引用计数)技术,来编写我们的代码。因此在属性property中我们经常使用的关键字有strong,weak,assign,copy,nonatomic,atomic,readonly,readwrite,getter,setter。可能经常写代码的朋友,已经很清楚在什么情况下会使用他们。但可能并不清楚他们的含义,下面我先通过

2016-09-12 11:12:03 3239

转载 UIWebView和WKWebView的使用及js交互

web页面和app直接的交互是很常见的东西,之前尝试过flex和js的相互调用以及android和js的相互调用,却只有ios没试过,据说比较复杂。周末花了点时间研究了一下,确实和其他的不太一样,但是 也不见复杂。要知道的事情ios的webview有2个类,一个叫UIWebView,另一个是WKWebView。两者的基础方法都差不多,本文重点是后者,他是取代UIWebView出现的

2016-09-08 18:11:50 356

转载 Objective-C新特性__nonnull和__nullable

最近在用Xcode 6.3写代码,一些涉及到对象的代码会报如下编译器警告:1Pointer is missing a nullability type specifier (__nonnull or __nullable)于是google了一下,发现这是Xcode 6.3的一个新特性,即nullabilit

2016-09-08 18:02:50 467

原创 面试-STAR法则

一.什么是STAR法则?The STAR (Situation, Task, Action, Result) format is a job interview technique used by interviewers to gather all the relevant information about a specific capability that the job

2016-09-05 20:26:56 3518

转载 GPUImage 图像处理

GPUImage是现在做滤镜最主流的开源框架,没有之一。作者BradLarson基于openGL对图片处理单元进行封装,提供出GPUImageFilter基类,配合shader,常用滤镜都拿下不是问题。一、安装(1):首先下载GPUImage  https://github.com/BradLarson/GPUImage   (2):解压后,在framework 目

2016-09-04 22:36:15 1110

转载 IOS 绘图 drowRect

Core Graphics Framework是一套基于C的API框架,使用了Quartz作为绘图引擎。它提供了低级别、轻量级、高保真度的2D渲染。该框架可以用于基于路径的绘图、变换、颜色管理、脱屏渲染,模板、渐变、遮蔽、图像数据管理、图像的创建、遮罩以及PDF文档的创建、显示和分析。为了从感官上对这些概念做一个入门的认识,你可以运行一下官方的example code。 iOS

2016-09-04 13:55:30 428

转载 iOS开发-常用第三方开源框架介绍

图像:1.图片浏览控件MWPhotoBrowser       实现了一个照片浏览器类似 iOS 自带的相册应用,可显示来自手机的图片或者是网络图片,可自动从网络下载图片并进行缓存。可对图片进行缩放等操作。      下载:https://github.com/mwaterfall/MWPhotoBrowser 目前比较活跃的社区仍旧是Github,除此以外也有一些不错的库散落

2016-09-03 19:40:01 2681

转载 简单理解Socket

TCP/IP要想理解socket首先得熟悉一下TCP/IP协议族, TCP/IP(Transmission Control Protocol/Internet Protocol)即传输控制协议/网间协议,定义了主机如何连入因特网及数据如何再它们之间传输的标准,从字面意思来看TCP/IP是TCP和IP协议的合称,但实际上TCP/IP协议是指因特网整个TCP/IP协议族。不同于ISO模

2016-09-03 11:12:31 321

转载 TCP丶UDP详解

互连网早期的时候,主机间的互连使用的是NCP协议。这种协议本身有很多缺陷,如:不能互连不同的主机,不能互连不同的操作系统,没有纠错功能。为了改善这种缺点,大牛弄出了TCP/IP协议。现在几乎所有的操作系统都实现了TCP/IP协议栈。TCP/IP协议栈主要分为四层:应用层、传输层、网络层、数据链路层,每层都有相应的协议,如下图所谓的协议就是双方进行数据传输的一种格式。

2016-09-03 11:04:06 502

原创 SEL (@selector) 简单总结

SEL就是对方法的一种包装。包装的SEL类型数据它对应相应的方法地址,找到方法地址就可以调用方法。在内存中每个类的方法都存储在类对象中,每个方法都有一个与之对应的SEL类型的数据,根据一个SEL数据就可以找到对应的方法地址,进而调用方法。@interface Person : NSObject  + (void)test1; - (void)test2; @end 

2016-09-02 16:10:50 674

转载 Swift 本地推送通知UILocalNotification

Swift 本地推送通知UILocalNotificationNotification是智能手机应用开发中常用的信息传递机制,它不用消耗更多资源去不停的检查信息状态,可以非常好的节省资源。在iOS中分为两种通知:本地、远程。本地的UILocalNotification由全局的NotificationManager统一管理,我们只需要将本地通知对象添加到系统的Notificati

2016-09-01 19:53:44 698

转载 TCP和UDP的区别(转)

TCP协议与UDP协议的区别    首先咱们弄清楚,TCP协议和UCP协议与TCP/IP协议的联系,很多人犯糊涂了,一直都是说TCP/IP协议与UDP协议的区别,我觉得这是没有从本质上弄清楚网络通信!TCP/IP协议是一个协议簇。里面包括很多协议的。UDP只是其中的一个。之所以命名为TCP/IP协议,因为TCP,IP协议是两个很重要的协议,就用他两命名了。TCP/IP协议集包括应用层,

2016-08-31 16:09:31 297

转载 盘点2016年iOS开发面试题及答案整理

在现如今,随着移动互联网科技不断的发展和创新,如今无论是公司还是开发者或设计师个人而言,面试都是一项耗时耗钱的项目,而面对iOS开发者及设计师在面试时可能会遇到的问题进行了筛选与汇总。下面我们一起来一下吧。         1、简述OC中内存管理机制。与retain配对使用的方法是dealloc还是release,为什么?需要与alloc配对使用的方法是dealloc还是release,为

2016-08-27 17:59:55 479

转载 KVC丶KVO

概述由于ObjC主要基于Smalltalk进行设计,因此它有很多类似于Ruby、Python的动态特性,例如动态类型、动态加载、动态绑定等。今天我们着重介绍ObjC中的键值编码(KVC)、键值监听(KVO)特性:键值编码KVC键值监听KVO键值编码KVC我们知道在C#中可以通过反射读写一个对象的属性,有时候这种方式特别方便,因为你可以利用字符串的方式去动态控制一个对

2016-08-23 18:35:39 241

转载 iOS程序中的内存分配 栈区堆区全局区

在计算机系统中,运行的应用程序的数据都是保存在内存中的,不同类型的数据,保存的内存区域不同。一、内存分区栈区(stack) 由编译器自动分配并释放,存放函数的参数值,局部变量等。栈是系统数据结构,对应线程/进程是唯一的。优点是快速高效,缺点时有限制,数据不灵活。[先进后出]栈空间分静态分配 和动态分配两种。 静态分配是编译器完成的,比如自动变量(auto)的分配。 动

2016-08-22 20:01:10 325

解析时间DEMO

Time类,可以解析时间用的

2015-05-26

Push通信相关代码

Push相关的通信代码,很适合新手参考。有需要的同学来下载吧。

2014-04-03

实用UITabBar

非常实用的自定义控件UITabBar,简单实用,方便开发,起到了更加美化界面的作用。

2012-09-07

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

TA关注的人

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