自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(42)
  • 资源 (1)
  • 收藏
  • 关注

原创 AR真实水平面生成与3D模型的水平面放置

背景AR场景中需要对3D模型进行一个真实水平面的位置摆放,与摄像头拍摄的真实世界水平面类似,模型可任意的放置于这个水平面上。于是存在几个问题 - 水平面怎么计算并生成? - 计算出的水平面如何与模型所在AR的3D世界坐标对应起来? - 如何保证把模型放置在了平面上,随着手机的任意移动和转向模型始终“面向观众”? - 用户使用时的场景千奇百怪,就算用户已经摆放好模型到一个平面上,当他移动手机到

2018-03-09 16:07:21 2479 4

原创 iOS平台语音边录边压边上传的实现

本文只讲述iOS平台如何实现边录制音频边压缩编码边上传到服务端,至于播放则只下载解码播放并没不涉及录制使用AudioToolbox.framework -> AudioQueue类进行录音/播放三个缓冲器Buffers:每个缓冲器都是一个存储音频数据的临时仓库。一个缓冲队列Buffer Queue:一个包含音频缓冲器的有序队列。一个回调Callback:一个

2016-02-23 17:23:16 5597 6

转载 11个超棒的iOS开发学习网站

原文:11 Insanely Great iOS Developers Sites永不止步地向他人学习我相信,要想从一个"还不错"的人变成一个卓越的人,我们需要不停地向他人学习,同时还得尽早地适应最新的技术和工具。除了苹果官方文档网站之外,我列举了一些能获取有价值的文章和资源的网站,这些网站能够帮助我们更上一个台阶。让我们先看一些原创内容博客:objc.io

2015-08-07 00:01:01 895

转载 [iOS]使用Audio Queue Services 播放和录制音频

要在iOS设备上播放和录制音频,苹果推荐我们使用AVFoundation框架中的AVAudioPlayer和AVAudioRecorder类。虽然用法比较简单,但是不支持流式;这就意味着:在播放音频前,必须等到整个音频加载完成后,才能开始播放音频;录音时,也必须等到录音结束后,才能获取到录音数据。这给应用造成了很大的局限性。为了解决这个问题,我们就需要使用Audio Queue Services来

2015-07-02 14:36:04 866

转载 Xcode 的正确打开方式——Debugging

程序员日常开发中有大量时间都会花费在 debug 上,从事 iOS 开发不可避免地需要使用 Xcode。这篇博客就主要介绍了 Xcode 中几种能够大幅提升代码调试效率的方式。“If debugging is the process of removing bugs, then programming must be the process of putting them in.”

2015-03-05 09:58:58 716

转载 iOS开发者如何提高自己的水平?

(原文:Leveling Up 作者:Mark Dalrymple 译者:xiaoying )不知道你有没有参与或是旁观过iOS开发的黑客马拉松,我觉得这是非常好的事情,在这里人们几乎不睡觉,一起脑洞大开,在Objective-C运行时环境下,利用iOS的相关知识攻城略地,度过激情四射的72个小时。对于我来说,它们让人心潮澎湃,我的所有平台知识都在头脑风暴下接受考验,我的技能也

2015-01-21 01:04:18 1033

转载 iOS 学习资料整理

这份学习资料是为 iOS 初学者所准备的, 旨在帮助 iOS 初学者们快速找到适合自己的学习资料, 节省他们搜索资料的时间, 使他们更好的规划好自己的 iOS 学习路线, 更快的入门, 更准确的定位的目前所处的位置.该文档会持续更新, 同时也欢迎更多具有丰富经验的 iOS 开发者将自己的常用的一些工具, 学习资料, 学习心得等分享上来, 我将定期筛选合并, 文档尚有一些不完善之处, 也

2015-01-19 15:38:30 785

转载 iOS开发工具-网络封包分析工具Charles

iOS开发工具-网络封包分析工具CharlesDEC 11TH, 2013简介本文为InfoQ中文站特供稿件,首发地址为:文章链接。如需转载,请与InfoQ中文站联系。Charles是在Mac下常用的截取网络封包的工具,在做iOS开发时,我们为了调试与服务器端的网络通讯协议,常常需要截取网络封包来分析。Charles通过将自己设置成系统的网络访问代理服务

2015-01-19 13:11:56 719

转载 XCode Debugger中的Icon符号的意义

你注意到了吗?在Xcode中,当你点击查看调用栈的时候,调用栈的每个方法前面都有一个Icon,而且还有好几种不同的样子,如下图所示,你知道它们代表什么意思吗?其实它们代表的意义如下:Person icon is UserMug icon is AppKit (or UIKit)Briefcase icon is FrameworksGear icon is

2015-01-19 13:09:15 605

转载 程序员常去的14个顶级开发社区

(via:码农网) 作为程序员,选择好合适的开发社区对提高自己的编程能力会有很大的帮助,我也说不出为什么,但是一些优秀的实时开发社区确实能帮你积累不少开发经验。 下面这张图列出了14个程序员经常逛的顶级开发社区,作为程序员,你应该要了解其中一个或者最好是多个,并且学会使用它们,利用里面的资源提高自己的编程能力。我们期望在开发者社区中获得什么?我们希望能得到切实的帮助,而

2014-12-26 13:54:31 1011

转载 StackOverflow程序员推荐:每个程序员都应读的30本书

“如果能时光倒流,回到过去,作为一个开发人员,你可以告诉自己在职业生涯初期应该读一本,你会选择哪本书呢?我希望这个书单列表内容丰富,可以涵盖很多东西。”很多程序员响应,他们在推荐时也写下自己的评语。以前就有国内网友介绍这个程序员书单,不过都是推荐数 Top 10的书。其实除了前10本之外,推荐数前30左右的书籍都算经典,伯乐在线整理编译这个问答贴,同时摘译部分推荐人的评语。下面就按照各本书

2014-11-15 13:27:56 788

转载 在iOS平台使用ffmpeg解码h264视频流

对于视频文件和rtsp之类的主流视频传输协议,ffmpeg提供avformat_open_input接口,直接将文件路径或URL传入即可打开。读取视频数据、解码器初始参数设置等,都可以通过调用API来完成。但是对于h264流,没有任何封装格式,也就无法使用libavformat。所以许多工作需要自己手工完成。这里的h264流指AnnexB,也就是每个nal unit以起始码00 00 00

2014-11-06 01:04:34 1813

转载 让App的运行速度与响应速度趋于一流

程序猿进化必读:让App的运行速度与响应速度趋于一流(iOS)admin  发表于 2013.3.7     8080浏览    2讨论  有关App运行速度与响应速度优化的好文,按个人理解意译,受限于水平而不够严谨,附原文地址  PS,觉得鄙人干翻译好过干编码的兄弟们顶一下哦!  第一部分是说理念,太啰嗦,可以直接跳第二部分。  第二部分是一些实用的优

2014-11-06 00:39:46 1153

转载 iOS UIBezierPath类 介绍

iOS UIBezierPath类 介绍博客分类: iosios-drawing 感谢:http://blog.csdn.net/crayondeng/article/details/11093689使用UIBezierPath类可以创建基于矢量的路径,这个类在UIKit中。此类是Core Graphics框架关于path的一个封装。使用此类可以

2014-10-28 23:07:50 597

转载 block使用小结、在arc中使用block、如何防止循环引用

block使用小结、在arc中使用block、如何防止循环引用发表于2013/09/15由fengnianji引言使用block已经有一段时间了,感觉自己了解的还行,但是几天前看到CocoaChina上一个关于block的小测试主题 : 【小测试】你真的知道blocks在Objective-C中是怎么工作的吗?,发现竟然做错了几道, 才知道自己想当然的理解是错误的,

2014-10-27 20:16:27 610

转载 [iOS] ios runtime

1. 什么是runtime运行时刻是指一个程序在运行(或者在被执行)的状态。也就是说,当你打开一个程序使它在电脑上运行的时候,那个程序就是处于运行时刻。在一些编程语言中,把某些可以重用的程序或者实例打包或者重建成为"运行库"。这些实例可以在它们运行的时候被连接或者被任何程序调用。程序员有时候会在什么东西应该在编译的时候加载进来以及什么东西该在运行的时候使用之间做出抉择,前者有时候成为编

2014-10-23 21:11:31 591

转载 iOS 短信与电话事件的获取

background information:Core TelephonyiOS 4.0 的官方 API 裡頭,多了一個叫做 Core Telephony 的 framework;一直以來 Core Telephony 都是 private API,現在開放出來,但是從文件來看,裡頭根本沒有幾行,既沒有告訴你應該怎麼用,也沒有範例,你從 framework 裡頭寥寥四個

2014-07-28 11:44:44 870

转载 xcode添加十六进制色值快捷键插件

http://wafflesoftware.net/hexpicker/给xcode 的颜色选择其添加16进制颜色选择器        由于大部分时候需要使用代码控制颜色,因此需要知道选取的颜色的十六进制或者RGB表示,以方便代码使用。这里提供了一个插件,可以在系统的颜色选择面板上显示当前颜色的十六进制编码,恰好满足了要求~

2014-07-09 16:14:27 1428

原创 IOS BLE BackGround Scan

之前做了一个蓝牙的项目,但该项目的特点是,始终依靠外设的广播去更新IOS的UI,获得一些数据进行处理,当设备在前台时,处理没有问题,并且能扫描到多台外设:NSDictionary* scanOptions = [NSDictionary dictionaryWithObject:[NSNumber numberWithBool:YES] forKey:CBCentralMana

2014-06-30 17:11:39 4865 8

转载 CoreBluetooth

硬體週邊TipsContents  [hide] 1 藍牙1.1 BLE(CoreBluetooth)1.1.1 Discover/Connect1.1.1.1 CBCentralManager1.1.1.2 centralManagerDidUpdateState1.1.1.3 scanForPeripher

2014-04-16 23:15:21 1664

转载 Xcode LLDB Debug教程

闲言少叙,直入正题。开胃小菜--简单的断点调试在xcode中打开一个app,在想要break的行号上单击,即可生成一个深色的箭头标识--断点。如下图,在viewDidLoad:中设置了断点。运行app,等待。。。就可以看到xcode在断点处进入调试模式,现在让我们把视线移到xcode右下角的控制台,有木有看到(lldb)这样一行,鼠标移到此行,输入

2014-02-21 10:10:25 924

转载 详解Objective-C runtime

什么是Objective-C runtime?简单来说,Objective-C runtime是一个实现Objective-C语言的C库。对象可以用C语言中的结构体表示,而方法(methods)可以用C函数实现。事实上,他们差不多也是这么干了,另外再加上了一些额外的特性。这些结构体和函数被runtime函数封装后,Objective-C程序员可以在程序运行时创建,检查,修改类,对象和它们的方法。

2014-01-21 19:10:39 1055

转载 KVO的内部实现

KVO是实现Cocoa Bindings的基础,它提供了一种方法,当某个属性改变时,相应的objects会被通知到。在其他语言中,这种观察者模式通常需要单独实现,而在Objective-C中,通常无须增加额外代码即可使用。 概览这是怎么实现的呢?其实这都是通过Objective-C强大的运行时(runtime)实现的。当你第一次观察某个object时,runtime会创建一个新的继承原

2014-01-15 09:30:05 658

转载 [Objective-C]关联(objc_setAssociatedObject、objc_getAssociatedObject、objc_removeAssociatedObjects)

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

2014-01-07 14:10:40 866

转载 非正式协议/正式协议

1、非正式协议(interface)非正式协议在Obj-c中关键字虽然是interface,但是这个和C#中的接口并不完全相同。回忆之前学过的内容,我们定义一个类Sample时,会生成一个Sample.h,代码如下:#import @interface Sample:NSObject {}-(void) HelloWorld;@end

2013-12-29 22:21:39 698

转载 实例方法和类方法

实例方法和类方法  (题外话:关于“实例方法”和“类方法”这两个概念,我是从Objective-C中遇到的,当时有些迷惑,经过查阅资料才分清,在此,因为我个人比较擅长java,所以,用java来解释一下这两个概念,其实编程语言的一些思想是相通的。)类方法:使用static修饰,属于整个类的,不是属于某个实例的,只能处理static域或调用static方法; 实例方法:属于对象的方法

2013-12-29 22:12:19 838

转载 IOS中的MVC设计模式理解

我们今天谈谈cocoa程序设计中的 模型-视图-控制器(MVC)范型。我们将从两大方面来讨论MVC: 什么是MVC?M、V、C之间的交流方式是什么样子的? 理解了MVC的概念,对cocoa程序开发是至关重要的。 一、MVC的概念MVC是Model-VIew-Controller,就是模型-视图-控制器,这些都是什么东西呢? M

2013-11-25 19:01:26 1174

转载 经营你的iOS应用日志:开始编写日志组件CRASH信息

对于那些做后端开发的工程师来说,看LOG解Bug应该是理所当然的事,但我接触到的移动应用开发的工程师里面,很多人并没有这个意识,查Bug时总是一遍一遍的试图重现,试图调试,特别是对一些不太容易重现的Bug经常焦头烂额。而且iOS的异常机制比较复杂,Objective-C的语言驾驭也需要一定的功力,做出来的应用有时候挺容易产生崩溃闪退。一遍一遍的用XCode取应用崩溃记录、解析符号,通常不胜其烦,有

2013-08-28 17:43:10 1220

转载 在iPhone上实现Http服务-Proxy

原文:A simple, extensible HTTP server in Cocoa原文地址:http://cocoawithlove.com/2009/07/simple-extensible-http-server-in-cocoa.html http是计算机之间通讯协议的比较简单的一种。在iPhone上,由于没有同步数据和文件共享的APIs,实现iPhone应用程

2013-08-20 10:39:58 2568

转载 23个开源App的App Store地址和源代码

23个开源App的App Store地址和源代码http://www.cocoachina.com/iphonedev/sdk/2010/0316/672.html?1359360297

2013-08-05 15:51:03 1375

原创 播放器缓冲界面显示加载速度

由于其他APP中下载的速度可以根据请求的数据得到实际大小,但IOS中的播放器类的下载情况我们无法得到,除非自己对HLS中每个TS都主动下载。在这种情况下,可以通过监视网卡的速度来粗略的显示当前播放器的缓冲速度。-(void)processSecSpeedText{ if (self.hidden == YES) { //[freshTimer invalida

2013-07-25 10:02:46 1655

原创 IOS:实现单个TS文件的播放

我们知道IOS针对HLS的播放是使用m3u8的索引文件进行内部解析下载播放,如果存在单个TS,在我们的MAC上直接点击该TS是可以直接播放的,那么我们在IOS的APP里该如何实现单个TS片段的播放呢? 实现步骤:1 将手头上的TS文件拉入project. 并命名为main1.0.ts2 自己创建或修改m3u8文件如下,并命名为1.m3u8文件#EXTM3U#EXT-X-TA

2013-04-11 17:36:04 9232 3

原创 IOS:http-live-streaming DRM 实现方案

文档主要分为两部分l   IOS对HLS DRM的支持情况l   具体实现办法IOS对HLS DRM的支持情况HTTP流媒体直播允许从一个普通的web服务器发送live的或预先录好的音频和视频,到任何运行iOS 3.0或更高版本(包括iPad和苹果电视),或任何电脑和Safari 4.0或更高版本安装的设备,支持加密和身份验证,但不支持DRM。客户端软件首先基于URL识别流获取

2013-04-11 17:00:19 5935

原创 IOS 生成LOG文件并导出

在IOS的测试阶段,对于真机,日志没法保存,不好分析问题。所以有必要将日志保存到应用的Docunment目录下,并设置成共享文件,这样才能取出分析。       首先是日志输出,分为c的printf和标准的NSLog输出,printf会向标准输出(sedout)打印,而NSLog则是向标准出错(stderr),我们需要同时让他们都将日志打印到一个文件中。       例子:

2013-04-10 13:45:28 2999

转载 优秀开源代码解读:JS与iOS Native Code互调实现方法

本篇为大家介绍一个优秀的开源小项目:WebViewJavascriptBridge。 它优雅地实现了在使用UIWebView时JS与ios 的Objective-C nativecode之间的互调,支持消息发送、接收、消息处理器的注册与调用以及设置消息处理的回调。 就像项目的名称一样,它是连接UIWebView和Javascript的bridge。在加入这个项目之后

2013-03-26 10:49:54 965

转载 手把手教你ARC——ARC入门和使用

本文部分实例取自iOS 5 Toturail一书中关于ARC的教程和公开内容,仅用于技术交流和讨论。请不要将本文的部分或全部内容用于商用,谢谢合作。欢迎转载本文,但是转载请注明本文出处:http://www.onevcat.com/2012/06/arc-hand-by-hand/本文适合人群:对iOS开发有一定基础,熟悉iOS开发中内存管理的Reference Counting机

2013-03-22 14:36:21 841

转载 iOS 滤镜 和 iOS6 中的Core Image技术

Core Image是一个很强大的框架。它可以让你简单地应用各种滤镜来处理图像,比如修改鲜艳程度, 色泽, 或者曝光。 它利用GPU(或者CPU,取决于客户)来非常快速、甚至实时地处理图像数据和视频的帧。多个Core Image滤镜可以叠加在一起,从而可以一次性地产生多重滤镜效果。这种多重滤镜的优点在于它可以生成一个改进的滤镜,从而一次性的处理图像达到目标效

2013-01-17 15:46:37 696

转载 IOS:关于iPhone/iPad全屏截图与区域截图的几种方法总结

截取本区域(self.view):UIGraphicsBeginImageContext(CGSizeMake(self.view.frame.size.width,self.view.frame.size.height));   [self.view.layer renderInContext:UIGraphicsGetCurrentContext()];   U

2013-01-17 10:08:34 3086

转载 IOS:IOS的主要框架和framework介绍

IOS提供了很多你可以在应用程序里调用的框架。要使用一个框架,需要将它添加到你的项目中,你的项目才可以使用它。许多应用程序都使用了如Foundation、UIKit、和Core Graphics这些框架。根据你为应用程序选择的模版,相关的框架就已经被自动引入了。如果默认加入的框架不能满足你的应用程序的需求,你也可以加入需要的框架。       看看HelloWorld.xcodep

2013-01-11 15:50:34 780

转载 IOS:实现对图片的双击放大、移动、捏合操作

////  EditPhotoView.m//  FaceStar////  Created by Monster on 12-12-21.//  Copyright (c) 2012年 FaceStar. All rights reserved.//#import "EditPhotoView.h"#import "Ic

2013-01-10 18:08:14 1494

object-c设计模式.pdf

object-c设计模式.pdf

2013-01-15

空空如也

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

TA关注的人

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