自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(31)
  • 资源 (4)
  • 收藏
  • 关注

原创 GCD ios多线程 runloop

一.线程概述二.创建线程1.使用NSThread2.使用NSObject3.POSIX Thread三.多线程进阶1.NSOperation & NSOperationQueue2.GCD四.进程间通信1.和主线程的通信2.任意线程间的通信五.RunLoop一.线程概述有些程序是一条直线,起点到终点;有些程序是一个圆,不断循环,直到将它切断。直线的如简单

2013-12-31 10:05:56 527

原创 NSTimer与Run loop Modes

在Cocoa中,每个线程(NSThread)对象中内部都有一个run loop(NSRunLoop)对象用来循环处理输入事件,处理的事件包括两类,一是来自Input sources的异步事件,一是来自Timer sources的同步事件;

2013-12-31 09:58:40 796

原创 使用pjsip开发VoIP应用程序

使用pjsip开发VoIP应用程序 编译make配置

2013-12-27 14:08:29 3393

原创 搭建自己的SIP服务器:开源sip服务器opensips的搭建及终端TwInkle的使用

开源sip服务器opensips的搭建及终端TwInkle的使用

2013-12-19 09:15:14 3467 3

翻译 生成APNS Service证书的步骤

验证苹果证书的SSL合法性openssl s_client -connect gateway.sandbox.push.apple.com:2195 -cert aps_development.pem -key push_key.pem

2013-12-12 13:58:46 810

原创 我为什么喜欢Go语言

写了多年代码了,期间用过VB、Delphi、C#、C++、Ruby、Python,Android,iOS,一直在寻找一门符合自己心意和理念的语言。我很在意写代码时的手感和执行的效率,所以在Go出现之前一直没有找到。在熟悉Go之后,我虽没有停下脚步,也去体验了D语言,但几乎立即就放弃了,它的设计还是太复杂。就说说Go吧。它的好其实也就两个字——简洁! 看很多朋友的留言都觉得这些“少个括号

2013-12-11 16:28:50 787

原创 百度+Google=天下无敌

2013-12-09 20:17:44 573

原创 p12生成pem证书

1. 通过终端命令将这些文件转换为PEM格式:openssl pkcs12 -clcerts -nokeys -out apns-dev-cert.pem -in apns-dev-cert.p12openssl pkcs12 -nocerts -out apns-dev-key.pem -in apns-dev-cert.p122.最后,你需要将键和许可文件合成为apns-dev.pem

2013-12-09 20:14:35 1529

原创 UILocalNotification的使用

UILocalNotification一般做为定时器使用,可以定时提醒,定时唤醒。1.对象的创建   UILocalNotification *notification = [[UILocalNotification alloc] init];    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];    NS

2013-12-09 10:55:26 712

转载 SHA256加密算法

SHA 家族  SHA (Secure Hash Algorithm,译作安全散列算法) 是美国国家安全局 (NSA) 设计,美国国家标准与技术研究院 (NIST) 发布的一系列密码散列函数。正式名称为 SHA 的家族第一个成员发布于 1993年。然而现在的人们给它取了一个非正式的名称 SHA-0 以避免与它的后继者混淆。两年之后, SHA-1,第一个 SHA 的后继者发布了。 另外还有四种变

2013-12-09 10:54:10 6782

翻译 iPhone 中文URL编码(encode)解码(decode)

URL 加码 & 解码:NSString* string1 = @"https://www.cloudsafe.com/文件夹";    NSString* string1 = @"https://www.cloudsafe.com/文件夹";    NSString* string2 = [string1 stringByAddingPercentEscapesUsingEn

2013-12-09 10:50:37 1554

原创 YY创始人携手极客公园调坎QQ企鹅

YY创始人携手极客公园调坎QQ企鹅

2013-12-08 14:03:04 1140

原创 iOS应用程序生命周期(前后台切换,应用的各种状态)详解

iOS的应用程序的生命周期,还有程序是运行在前台还是后台,应用程序各个状态的变换,这些对于开发者来说都是很重要的。 iOS系统的资源是有限的,应用程序在前台和在后台的状态是不一样的。在后台时,程序会受到系统的很多限制,这样可以提高电池的使用和用户体验。//开发app,我们要遵循apple公司的一些指导原则,原则如下:

2013-12-06 19:23:46 1034

原创 iOS开发之使用pjsip开发VoIP应用程序

一、网络电话---pjsip---环境需求:iPhone应用推荐使用SDK 4.x,当然3.x也支持;iPad应用只支持SDK 3.2以上。二、编译之前的准备工作:1、下载pjsip源代码;2、在目录/pjsip/pjlib/include/pj/中新建config_site.h,粘贴如下代码入内:#define PJ_CONFIG_IPHONE 1#include <pj/config_site_sample.h>三、编译pjsip:......

2013-12-06 17:09:13 2636

翻译 PJNATH介绍 -- 开源的用于NAT穿透的ICE, STUN和TURN

PJNATH介绍 -- 开源的用于NAT穿透的ICE, STUN和TURN

2013-12-06 14:13:39 2725

转载 NAT和NAT穿透介绍

NAT和NAT穿透介绍本文描述NAT和它带来的一些问题以及相应的解决方案。NAT介绍NAT(Network Address Translation)是一种机制,采用这种机制的设备通过改变一个包内的IP地址和端口,把一个域内的IP地址映射为另一个域的IP地址(通常是把一个私有地址映射为一个公网地址,反之亦然)。NAT设备所做的工作包括:在NAT的公网侧分配一个临时的端口号并通过该

2013-12-06 13:42:24 1447

原创 一个进程中线程的最大个数计算方法

最近无聊写了个小程序,在主进程中开一个线程,让这个线程不断的开线程,来测试最多能开多少线程。结果每次执行的结果都是2010(加上主线程和另外开的一个线程,一共是2012个线程)。程序地址如下:http://feng32.50webs.com/ThreadMark.zip核心代码如下(C语言的):C# code?1

2013-12-06 10:33:19 2189 2

原创 QQ开发平台地址

http://wiki.open.qq.com/wiki/API%E6%96%87%E6%A1%A3

2013-12-05 14:07:54 726

原创 iPhone用nib/xib文件载入窗口,和用代码写窗口,到底哪个快?

iPhone用nib/xib文件载入窗口,和用代码写窗口,到底哪个快?

2013-12-05 09:34:56 901

翻译 使用Xcode和Instruments调试解决iOS内存泄露

虽然iOS 5.0版本之后加入了ARC机制,由于相互引用关系比较复杂时,内存泄露还是可能存在。所以了解原理很重要。这里讲述在没有ARC的情况下,如何使用Instruments来查找程序中的内存泄露,以及NSZombieEnabled设置的使用。本文假设你已经比较熟悉Obj-C的内存管理机制。

2013-12-04 16:42:27 659

原创 ios的frame,bound和center的原理和区别

frame:指的是视图在父视图的坐标系统中的大小和位置。bound:指的是视图在试图本身的坐标系统中的大小(位置起点是原点)。center:指的是视图在父视图坐标系统中的中心点。贴张苹果官网的图:frame和bound的关系下面这是其中一个发生变化,其余两个的变化,直接看吧,很浅显。Although you can change the frame,

2013-12-04 15:24:36 1847

原创 IT技术开发论坛大全

1.移动开发 iOS Android Windows Mobile SDK WAP HTML5 HTML iOS62.后台开发 Java JavaScript jQuery 数据库 Spring Apache ERP .NET API XML SpringSide ThinkPHP Web App Perl Ruby 3.网络开发 VPN

2013-12-04 14:59:12 1327

转载 IOS7 开发注意事项

1,修改状态栏的样式和隐藏。首先,需要在Info.plist配置文件中,增加键:UIViewControllerBasedStatusBarAppearance,并设置为YES;然后,在UIViewController子类中实现以下两个方法:- (UIStatusBarStyle)preferredStatusBarStyle{    return UIStatusBarSty

2013-12-04 14:42:35 545

原创 Core Animation编程指南

本文是《Core Animation Programming Guide》2013-01-28更新版本的译文。本文略去了原文中关于OS X平台上Core Animation相关内容。因为原文的类型属于编程指南,所以示例代码并不多,更多的是理论层面的探讨。所以译文中加入了大量的示例代码,以提高本文的可操作性。希望本文能够对你有所帮助。本文由海水的味道翻译,转载请注明译者和出处,请勿用于商业用途!

2013-12-04 14:36:26 675

原创 复杂TableView在iOS上的性能优化

当你在一台老式设备上运行一个含有 TableView 的应用,而每个 Cell 上又由很多的子视图(subView)组成的时候,对 Cell 的绘制代码进行定制化将有助于性能的提升。对于 iPhone4 及其以前的设备,这个性能优化技巧做带来的效果是显著的。

2013-12-04 14:24:36 1500 1

原创 TableView在iOS上的性能优化

当你在一台老式设备上运行一个含有 TableView 的应用,而每个 Cell 上又由很多的子视图(subView)组成的时候,对 Cell 的绘制代码进行定制化将有助于性能的提升。对于 iPhone4 及其以前的设备,这个性能优化技巧做带来的效果是显著的。

2013-12-04 14:24:04 1105

原创 iOS的变量与内存原理

本文目录一、字节和地址二、变量的存储三、负数的二进制形式四、变量的作用域五、变量的初始化在前面一节中简单介绍了变量的使用,当我们定义一个变量的时候,系统就会为变量分配一块存储空间。而变量的数值在内存中是以二进制的形式存储的,这讲来深入研究变量在内存中的一些存储细节。回到顶部一、字节和地址为了更好地理解变量在内存中的存储细节,先来认识一下内存中的“字节”和“地址”。1.计

2013-12-04 14:20:59 1054

原创 loadView和viewDidLoad及initWithNibName/awakeFromNib/initWithCoder

每个ios开发者对loadView和viewDidLoad肯定都很熟悉,虽然这两个函数使用上真的是非常简单,但是和类似的initWithNibName/awakeFromNib/initWithCoder放在一起还是非常容易让人混淆的.一、loadView永远不要主动调用这个函数。view controller会在view的property被请求并且当前view值为nil时调用这个函数。如

2013-12-04 14:00:11 598

原创 Phone重绘机制drawRect

Phone重绘机制drawRect如何使用iPhone进行绘图、重绘操作iPhone的绘图操作是在UIView类的drawRect方法中完成的,所以如果我们要想在一个UIView中绘图,需要写一个扩展UIView 的类,并重写drawRect方法,在这里进行绘图操作,程序会自动调用此方法进行绘图。下面先说明一下绘图,比如,你想绘制一个方块,你需要写一个类来扩展U

2013-12-04 13:53:35 622

翻译 开源语音格式speex教程(for IOS)

这两天在折腾语音的东西,实现类似微信上对讲机的功能,做了两个Demo,一种使用lib-amr库用amr格式实现的,这个网上有现成的教程,所以还是比较好实现的。另一个是用的speex库,这个提的人很多,但是出教程的不多,恨透那个爱图腾的教程了,很多不明所以的地方,让我们这些新手很困惑呀,网上晃了3天终于可以搞出个像样的Demo了。Demo中我将一个录好的.caf格式的PCM音频 编码成speex格式

2013-12-04 11:36:29 1073 1

转载 编译speex(i386、armv6、armv7、armv7s)方法

编译speex(i386、armv6、armv7、armv7s)方法本文借鉴:http://www.cocoachina.com/bbs/read.php?tid=114755&keyword=speex桌面上建立speexLibrary文件夹,将下载的libogg-1.3.0、speex-1.2rc1放入;一、编译ogg:1.ogg-i386的库通过如下命令进入/Us

2013-12-04 11:22:53 1465

微信活动策划七个执行智慧

张小龙的精髓分享

2015-09-22

iOS蓝牙测试通信

蓝牙互相通信,实现对附近蓝牙的搜索,链接,断开和重链接

2014-08-26

eclipsereg.java

myEclipse的注册文件源码,java文件,执行后自动生成myEclipse注册吗, 非常好用

2011-07-31

OpenGL碰撞闯关小游戏

相互碰撞检测,使物块漂浮空中,掉落8次算失败。坚持一分钟后自动创下一关,速度和难度都变快。

2011-07-22

空空如也

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

TA关注的人

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