自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 收藏
  • 关注

原创 Runloop应用实例

AFNetworkingAFURLConnectionOperation 这个类是基于 NSURLConnection 构建的,其希望能在后台线程接收 Delegate 回调。为此 AFNetworking 单独创建了一个线程,并在这个线程中启动了一个 RunLoop:123456789

2016-04-10 16:52:18 345

原创 C函数

ABS(a-b) 绝对值函数pow(a, 2) a的二次方atan(0.3) 反正切函数cos(2) 余弦值sin(3.4)正弦值后续 待补充。。。。。

2016-04-08 16:57:15 241

转载 iOS开发- 蓝牙后台接收数据(BLE4.0)

最近在做一个蓝牙相关的项目, 需要在应用进入后台, 或者手机属于锁屏状态的情况下, 仍然保持蓝牙连接, 并且能正常接收数据。本来以后会很麻烦, 但是学习了下..发现就2步而已。简单的不能再简单了。好了。下面是具体实现办法。1.在xxx-info.plist文件中, 新建一行  Required background modes , 加入下面两项。App shar

2016-03-16 11:51:01 390

原创 相册权限 第一次安装、用户是否授权

void (^allowEvent)() = ^{        UIImagePickerControllerSourceType sourceType;        sourceType = UIImagePickerControllerSourceTypePhotoLibrary;        UIImagePickerController *picker = [

2016-03-07 13:35:53 380

转载 使用免费的产品搭建直播系统

使用免费的产品搭建直播系统     上述方案的不足就是Helix的产品只有试用版。想用正版就得花钱。     1. 学习资料       使用VLC+mediastreamsegmenter+apache搭建HTTP Live Streaming系统:              http://www.unmht.org/memo/en_ipod_stream.html   

2016-03-06 15:59:47 446

转载 搭建HTTP Live Streaming直播系统

最近,需要将苹果的HTTP Live Streaming系统搭建起来。完全没有头绪,故第一步就是学习。一、学习资料官网资料1. http://developer.apple.com/resources/http-streaming/具体的搭建方案        使用segmenter将现成的视频文件分割,并生成列表文件。1. http://blog.csdn.n

2016-03-06 15:40:22 737

转载 HTTP Live Streaming直播(iOS直播)技术分析与实现

本文转载自:http://www.cnblogs.com/haibindev/archive/2013/01/30/2880764.html不经意间发现,大半年没写博客了,自觉汗颜。实则2012后半年,家中的事一样接着一样发生,实在是没有时间。快过年了,总算忙里偷闲,把最近的一些技术成果,总结成了文章,与大家分享。  前些日子,也是项目需要,花了一些时间研究了HTTP

2016-03-06 13:51:36 315

原创 HLS视频直播

HTTP Live Streaming (HLS)苹果官方对于视频直播服务提出了 HLS 解决方案,该方案主要适用范围在于:使用 iPhone 、iPod touch、 iPad 以及 Apple TV 进行流媒体直播功能。(MAC 也能用)不使用特殊的服务软件进行流媒体直播。需要通过加密和鉴定(authentication)的视频点播服务。首先,需要大家先对 HLS 的概

2016-03-06 13:30:21 934

转载 CocoaPods版本升级

和往常一样使用CocoaPods管理一个基于FMDB的项目类库命令行执行$ pod install[!] The 'master' repo requires CocoaPods 0.32.1 - 失败,提示需要CocoaPods 0.32.1版本查看CocoaPods版本$ pod --version0.29.0确实需要更新了命令行更新(安装)步骤

2016-03-04 23:12:32 218

转载 项目管理:CocoaPods建立私有仓库

CocoaPods是iOS,Mac下优秀的第三方包管理工具,类似于java的maven,给我们项目管理带来了极大的方便。个人或公司在开发过程中,会积累很多可以复用的代码包,有些我们不想开源,又想像开源库一样在CocoaPods中管理它们,那么通过私有仓库来管理就很必要。对于CocoaPods还不太熟悉的,建议参考一下唐巧的博客或者直接到CocoaPods的官网看看:https:

2016-03-04 11:30:22 440

转载 cocospod 安装和使用

一 ruby 安装  要安装coocspod 首先需要安装ruby,可以先安装xcode,在安装macport 下载地址,最后执行命令 port install ruby二、安装CocoaPods1、安装CocoaPods是用Ruby实现的,要想使用它首先需要有Ruby的环境。幸运的是OS X系统默认的已经可以运行Ruby了,因此我们只需要执行以下命令:

2016-03-04 10:55:27 358

原创 sqlite加密

一直使用sqlite来管理本地的数据,但是Xcode中的SDK中集成的sqlite是免费的,不提供加密模块,但是程序中用到的很多数据,有时候是不想让别人看到,一开始虑修改sqlite的源码,自己重新编译sqlite生成一个带加密模块的静态库,找了一下相关资料,需要修改源码中的makefile和自己实现加密算法等东西,折腾了一下,无果,就果断放弃了。此路不通,那就想别的办法来实现加密功能:现在找到3

2016-03-02 23:21:36 538

转载 套接字

源IP地址和目的IP地址以及源端口号和目的端口号的组合称为套接字。其用于标识客户端请求的服务器和服务。区分不同应用程序进程间的网络通信和连接,主要有3个参数:通信的目的IP地址、使用的传输层协议(TCP或UDP)和使用的端口号。Socket原意是 “插座”。通过将这3个参数结合起来,与一个“插座”Socket绑定,应用层就可以和传输层通过套接字接口,区分来自不同应用程序进程或网络连

2016-03-02 10:50:55 236

原创 socket的心跳包机制

网络中的接收和发送数据都是使用操作系统中的SOCKET进行实现。但是如果此套接字已经断开,那发送数据和接收数据的时候就一定会有问题。可是如何判断这个套接字是否还可以使用呢?这个就需要在系统中创建心跳机制。其实TCP中已经为我们实现了一个叫做心跳的机制。如果你设置了心跳,那TCP就会在一定的时间(比如你设置的是3秒钟)内发送你设置的次数的心跳(比如说2次),并且此信息不会影响你自己定义的协议。所谓“

2016-03-02 10:13:25 702

原创 iOS开发必备HUD(透明指示层)

iOS开发必备HUD(透明指示层)字数421 阅读2123 评论1 喜欢511.MBProgressHUDGitHub地址:https://github.com/jdg/MBProgressHUD基本上看到的主流iOS应用都集成了这个,Star 7k了,最近看到很多应用HUD隐藏时,有一个动画过程,我还以为是自己扩展的,后来研究才发现,有这个属性animationT

2016-03-02 00:12:36 550

原创 iOS 第一次安装应用,拒绝相机调用,页面卡死的解决方案

void (^allowBlock)() = ^{        UIImagePickerController *imagePicker = [[UIImagePickerControlleralloc] init];        imagePicker.delegate = self;        imagePicker.allowsEditing =

2016-03-02 00:03:37 907

原创 UINavigationController侧滑滑动返回 卡死问题

UINavigationController滑动返回,有需要的朋友可以参考下。最近做了UINavigationController的滑动返回(IOS7及以后系统默认支持的), 主要分成以下几步以及碰到的问题, 我这里做个总结:*.首先说明个普遍碰到的问题 网上普遍看到说, 在UINavigationController下自定义leftBarButtonItem会导致滑动失效

2016-02-29 16:08:26 1429

转载 iOS 判断相机权限是否被限制,判断相机是否可以使用

判断相机权限是否被限制需要导入   AVFoundation 类[objc] view plain copy#import   [objc] view plain copy//    iOS 判断应用是否有使用相机的权限            NSString *mediaTyp

2016-02-28 11:21:39 539

原创 ios tabbar 文字位置

[nav.tabBarItemsetTitlePositionAdjustment:UIOffsetMake(0, -4)];

2016-02-26 09:19:14 986

转载 libsqlite3.dylib找不到

Xcode7中 Link Binary With Libraries 没有 .dylib库,只能找到对应的 .tbd,但不能代替使用,通过查找资料,尝试后得到以下两种解决方法。方法1. (heqin测试可行)在项目Target中的Link Binary With Libraries 手动添加 首先点击 “+” 显示搜索添加页面,在这里如果搜索之前的libsqlite3.dylib是

2016-02-25 18:09:46 1160

转载 HTTP状态码

完整的 HTTP 1.1规范说明书来自于RFC 2616,你可以在http://www.talentdigger.cn/home/link.php?url=d3d3LnJmYy1lZGl0b3Iub3JnLw%3D%3D在线查阅。HTTP 1.1的状态码被标记为新特性,因为许多浏览器只支持 HTTP 1.0。你应只把状态码发送给支持 HTTP 1.1的客户端,支持协议版本可以通过调用reque

2016-02-18 13:57:11 250

转载 NSData NSDate NSString NSArray NSDictionary 相互转换

// NSData NSDate NSString NSArray NSDictionary json NSString *string = @"hello word"; NSData *data = [string dataUsingEncoding:NSUTF8StringEncoding]; NSArray *array = [NSArray arrayWithObjects:

2016-02-18 09:14:25 218

原创 NSDictionary to jsonString || 对象转json格式

-(NSString*)DataTOjsonString:(id)object{ NSString *jsonString = nil; NSError *error; NSData *jsonData = [NSJSONSerialization dataWithJSONObject:object

2016-02-18 09:11:49 211

转载 git 上传本地文件到github

git 上传本地文件到github1 git config --global user.name "Your Real Name" 2 git config --global user.email you@email.addressgit initgit add .git commit -m 'Test'git remote add origin git@gi

2016-02-17 11:40:28 215

原创 NSAssert用法

今天突然发现了一个开发ios程序时调试的好帮手—NSAssert()函数。而且和NSLog()函数一样简单易用,代码如下: NSAssert(x!=0,@”x must not be zero”);在表达式“x!=0”不成立时,程序就会抛出异常,并显示自定义的消息”x must not be zero”,并同时显示出错的文件、代码和调用函数等信息,是一个程序追踪的很好手段。假设x!=0

2016-02-16 11:41:52 239

转载 深入理解GCD(一)

虽然 GCD 已经出现过一段时间了,但不是每个人都明了其主要内容。这是可以理解的;并发一直很棘手,而 GCD 是基于 C 的 API ,它们就像一组尖锐的棱角戳进 Objective-C 的平滑世界。我们将分两个部分的教程来深入学习 GCD 。在这两部分的系列中,第一个部分的将解释 GCD 是做什么的,并从许多基本的 GCD 函数中找出几个来展示。在第二部分,你将学到几个 GCD 提供的高

2016-02-16 11:20:14 372

原创 ug-Assertion failure in [MyClass layoutSublayersOfLayer:]

这是在iOS7上,tableview 的sectionHeaderView中报错*** Assertion failure in -[****.****UITVSectionHeader_Team layoutSublayersOfLayer:], /SourceCache/UIKit/UIKit-2935.137/UIView.m:8794libc++abi.dylib: ter

2016-02-01 14:34:57 263

原创 深入理解block

2010年WWDC发布iOS4时Apple对Objective-C进行了一次重要的升级:支持Block。说到底这东西就是闭包,其他高级语音例如Java和C++已有支持,第一次使用Block感觉满简单好用的,但是慢慢也遇到很多坑。本文聊聊ARC和non-ARC下Block使用中的引用循环问题,最近遇到了好几次这种问题,还是深入记录下。先来套题目热热身,貌似能够全部答对的人蛮少的Block实现

2015-12-27 20:42:25 309

原创 将博客搬至CSDN

http://www.cnblogs.com/AlvinCrash/搬家通知博文地址

2015-12-13 21:44:31 224

转载 深拷贝和浅拷贝

iOS 集合的深复制与浅复制Archives iOS如果您觉得我的博客对您有帮助,请通过关注我的新浪微博  MicroCai 支持我,谢谢!概念对象拷贝有两种方式:浅复制和深复制。顾名思义,浅复制,并不拷贝对象本身,仅仅是拷贝指向对象的指针;深复制是直接拷贝整个对象内存到另一块内存中。一图以蔽之再简单些说:浅复制就是指针拷贝;

2015-12-13 20:48:04 242

转载 strong和copy的区别

问题描述在定义一个类的property时候,为property选择strong还是copy特别注意和研究明白的,如果property是NSString或者NSArray及其子类的时候,最好选择使用copy属性修饰。为什么呢?这是为了防止赋值给它的是可变的数据,如果可变的数据发生了变化,那么该property也会发生变化。代码示例还是结合代码来说明这个情况@interfa

2015-12-13 20:03:24 296

原创 xib托线出来的为什么是weak而不是strong

因为控件他爹( view.superview )已经揪着它的小辫了( strong reference ),你( viewController )眼瞅着( weak reference )就好了。当然,如果你想在 view 从 superview 里面 remove 掉之后还继续持有的话,还是要用 strong 的( 你也揪着它的小辫, 这样如果他爹松手了它也跑不了 )。

2015-12-13 19:50:32 355

原创 iOS 序列化与反序列化

开篇1到底这个序列化有啥作用?面向对象的程序在运行的时候会创建一个复杂的对象图,经常要以二进制的方法序列化这个对象图,这个过程叫做Archiving. 二进制流可以通过网络或写入文件中(来源于某教材的一段话)本人的理解是当你于写数据需要本地存储时,即将你的数据写到硬盘上的时候,你就必须对他进行序列化,转换成二进制文件,从而便于在磁盘上的读写,同理在取出的时候必须将其在反序列

2015-04-03 16:56:47 301

原创 iOS开发- 蓝牙后台接收数据(BLE4.0)

最近在做一个蓝牙相关的项目, 需要在应用进入后台, 或者手机属于锁屏状态的情况下, 仍然保持蓝牙连接, 并且能正常接收数据。本来以后会很麻烦, 但是学习了下..发现就2步而已。简单的不能再简单了。好了。下面是具体实现办法。1.在xxx-info.plist文件中, 新建一行  Required background modes , 加入下面两项。

2015-04-02 16:34:51 600

原创 iOS开发拓展篇-XMPP简单介绍

一、即时通讯简单介绍1、简单说明即时通讯技术(IM)支持用户在线实时交谈。如果要发送一条信息,用户需要打开一个小窗口,以便让用户及其朋友在其中输入信息并让交谈双方都看到交谈的内容有许多的IM系统,如AOL IM、Yahoo IM、 MSN以及QQ,它们最大的区别在于各自通讯协议的实现,所以即时通讯技术的核心在于它的传输协议协议用来说明信息在网络上如何传输,如果有了统一的传输协议,那

2015-04-02 16:32:55 266

原创 OS开发拓展篇—应用之间的跳转和数据传

iOS开发拓展篇—应用之间的跳转和数据传说明:本文介绍app如何打开另一个app,并且传递数据。一、简单说明新建两个应用,分别为应用A和应用B.实现要求:在appA的页面中点击对应的按钮,能够打开appB这个应用。1.新建两个应用,分别为A和B.   2.设置应用B的url。3.在应用A中编写打开app的代码点

2015-04-01 11:46:45 295

原创 iOS身份证的正则验证

在ios项目的开发中可能很多地方都需要用到身份证校验,一般在开发的时候很多人都是直接百度去网上荡相关的正则表达式和校验代码,但是网上疯狂粘贴复制的校验代码本身也可能并不准确,可能会有风险,比如2013年1月1号起停止使用15位的身份证,网上的身份证校验普遍支持15位的号码。在开发过程中,进行类似处理的时候,还是需要一些甄别的能力的,当然也要考虑自己的项目的实际情况。该文贴出了最近项目中使用到得身份

2015-04-01 11:44:55 531

空空如也

空空如也

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

TA关注的人

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