自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 比JSON更快、更小--MessagePack

2016-01-06 17:11:31 2553 1

原创 iOS Crash 分析(文三)- 符号化崩溃日志

iOS Crash 分析(文三)- 符号化崩溃日志未符号化的崩溃日志就象一本天书,看不懂,更别谈分析崩溃原因了。所以我们在分析日志之前,要把日志翻译成我们可以看得懂的文字。这一步我们称之为符号化。在iOS Crash分析(文一)中已经提到过符号化的两种方式:1.利用Xcode符号化2.利用symbolicatecrash脚本符号化其实这两种分析方式都

2014-11-18 15:15:28 18930 2

原创 iOS Crash 分析(文二)-崩溃日志组成

iOS Crash 分析(文二)-崩溃日志组成现在我们看一个淘宝iOS主客崩溃的例子:### 1.进程信息 ###Incident Identifier: E4201F10-6F5F-40F9-B938-BB3DA8ED7D50CrashReporter Key: TODOHardware Model: iPhone4,1Process: Ta

2014-11-18 15:14:33 13442 1

原创 iOS Crash 分析(文一)- 开始

iOS Crash 分析(文一)- 开始1. 名词解释1. UUID一个字符串,在iOS上每个可执行文件或库文件都包含至少一个UUID。目的是为了唯一识别这个文件。2. dwarfdump苹果提供的命令行工具,其中一些功能就是查看可执行文件件或库文件的UUID3. symbolicatecrash一个苹果提供的脚本。可以将crash日志符

2014-11-18 15:13:32 6328

原创 一个weak引用NSArray的实现

NSValue *value = [NSValue valueWithNonretainedObjectValue:myObj];[array addObject:value];and when you get the object:value = [array objectAtIndex:x];myObj = [value nonretainedObjectValue];

2014-04-25 19:26:42 3452

转载 Objective_C动态获取实例属性

本文主要围绕一个主题,如何动态获取实例属性的值?objective_c动行时库已经有这样的功能。使用这些方法需要加头文件#import 要用到的方法是objc_property_t *class_copyPropertyList(Class cls, unsigned int *outCount) 从方法的名字可以看出作用:将一个类的属性copy出

2014-03-01 23:54:08 3368

转载 iOS应用崩溃日志揭秘

这篇文章还可以在这里找到 英语If you're new here, you may want to subscribe to my RSS feed or follow me on Twitter. Thanks for visiting!Learn how to make sense of crash logs!本文作者是 Soheil

2014-02-21 21:05:42 1765

转载 SPDY协议 - v3

SPDY协议 - v3原文:SPDY Protocol - Draft 3翻译:邱鹏滔(QQ: 95350530,主页:www.fireflysource.com)1 概述HTTP协议的瓶颈在于它需要靠很多链接来处理并发。造成这个原因的问题包括连接建立时额外的往返周期,慢启动延迟,以及有限的连接数,客户端要避免打开过多的连接数去连接服务器。HTTP管线化解决了部分问题,但是仅仅

2014-01-26 11:13:02 4892

转载 WWDC 2013 Session笔记 - iOS7中的多任务

WWDC 2013 Session笔记 - iOS7中的多任务iOS7的后台多任务特性这是我的WWDC2013系列笔记中的一篇,完整的笔记列表请参看这篇总览。本文仅作为个人记录使用,也欢迎在许可协议范围内转载或使用,但是还烦请保留原文链接,谢谢您的理解合作。如果您觉得本站对您能有帮助,您可以使用RSS或邮件方式订阅本站,这样您将能在第一时间获取本站信息。本文涉及到的WW

2013-11-19 16:43:21 2047

转载 创建含有category的静态库,selector not recognized的解决方案

创建含有category的静态库,selector not recognized的解决方案一、异常的原因在连接一个含有category的静态库的时候,往往会得到一个运行时exception “selector not recognized”。这是由于 UNIX的静态库实现、linker和Objective-C的动态结构三者之间的问题引起的。Objecti

2013-04-11 11:57:59 1871 1

转载 苹果消息推送服务教程

目前找到的网上关于iOS Push最详细的文章,很不错,而且还有php代码。http://www.raywenderlich.com/3443/apple-push-notification-services-tutorial-part-12Learn how to add Push Notifications into your iPhone app

2013-03-04 20:01:21 12974 3

转载 苹果下的建模

今年苹果公司推出的iPhone4和iPad继续大获成功,国内想在苹果的平台下开发软件赚钱的开发人员越来越多。那么,在苹果的平台下开发软件有哪些UML建模工具可用呢?虽然不如Windows平台下那么多的工具可以选择,还是可以列出一些的。Mac平台下原生的UML建模工具,功能最强的就是Excel Software出品的MacA&D。MacA&D支持绝大多数UML2.2图形,支持C++、Object

2013-02-01 12:45:55 2213 1

转载 C++编译不通过问题排查

C++编译不通过问题排查1. 其中的C++ Language Dialect 是否设置为 Compiler DefaultC++ Standard Library    是否设置为Compiler Default2. Build Setting中 Other Linker Flags中添加 -lstdc++试试看(有的不添加也可以编译通过,有的就不行,不知道为什么,待研究)

2013-01-25 20:46:15 2760

转载 iOS中异步函数的单元测试

通常单元测试执行顺序执行后进程就退出了,对于异步函数(如:网络访问等)的测试比较麻烦。在iOS开发中可以利用Runloop来阻塞主线程,在回调函数中做断言。代码片段如下,完整Demo//// SampleTest.m// SampleTest//// Created by Magic Yang on 5/11/12.// Copyright (c) 2012 Baidu. A

2013-01-24 23:59:11 6625

转载 Xcode中iOS单元测试

Xcode中集成了单元测试框架OCUnit,可以完成不同侧重点的测试。Xcode下的单元测试分为logic uint tests和application unit tests。logic uint tests在编译阶段进行,并且只能在模拟器中进行,并且需要配置一个单独的schemes来运行。主要是针对数据层的各个模块进行测试,如果数据层的模块划分比较理想解耦相对彻底,则可以通过逻辑单元测试

2013-01-24 23:51:14 4156

原创 FMResult 中管理数据库值得学习的代码

FMResult 中管理数据库值得学习的代码- (NSDictionary *)resultDict {        int num_cols =sqlite3_data_count(statement.statement);        if (num_cols > 0) {        NSMutableDictionary *dict = [NSMutabl

2012-11-21 18:35:37 2405

转载 iOS run loop NSRunloop

Phone应用开发中关于NSRunLoop的概述是本文要介绍的内容,NSRunLoop是一种更加高明的消息处理模式,他就高明在对消息处理过程进行了更好的抽象和封装,这样才能是的你不用处理一些很琐碎很低层次的具体消息的处理,在NSRunLoop中每一个消息就被打包在input source或者是timer source中了,来看详细内容。1.什么是NSRunLoop我们会经常看到这样

2012-11-07 19:28:02 5008 1

转载 Xcode 4.5 支持 amv6

原来的iPhone,iPhone3G 以及 第一代和第二代的iPod Touch 均只支持 Armv6的CPU指令集。然而,随着iPhone3GS 这款新产品的发布,Apple 开始支持新的指令集 Armv7,iPhone5的所有设备支持Armv7s,且向下兼容。为了保持向下兼容,且支持旧有设备及旧有指令集,Apple支持胖二进制代码(fat binaries)也就是在可执行文件中支持更多的平

2012-11-06 11:34:39 2407 2

转载 atos

atos  |字号 订阅做iOS开发的时候,常常会遇到crash,需要分析call stack的时候。有时候App在别人的设备崩溃,把crash report在自己的机器上打开,Xcode没有自动的进行符号化。这时候就需要自己去把地址解析成符号。大前提是,必须有相同版本App对应的.dSYM文件。这时候打开Terminal,进

2012-10-10 15:41:52 4780

转载 递归显示视图层次结构

// Recursively travel down the view tree, increasing the indentation level for children- (void) dumpView: (UIView *) aView atIndent: (int) indent into:(NSMutableString *) outstring{    for

2012-09-27 14:36:29 1841

转载 在程序中获取编译时SVN的版本号

程序中一般会加入程序的版本信息,用“-v”来查看。有时候还会加入编译时间,这个比较好实现,使用__TIME__和__DATE__宏就可以了,程序的大版本号一般都是手动写的。出于某种需要,我希望在程序中获取到编译时svn的版本号,查了写资料,有说用svn prop来做的,也有说用svn hook来做的,我觉得这个太复杂,而且是在每次提交都做修改,没必要。于是乎,我想到也用宏来

2012-09-12 11:52:09 2842

原创 CABasicAnimation animationWithKeyPath 一些规定的值

//The following code moves a view up 60 pixels and stops.CABasicAnimation *theAnimation;theAnimation=[CABasicAnimation animationWithKeyPath:@"transform.translation.y"];theAnimation.delegate

2012-09-02 19:34:10 1871

转载 iphone守护进程和前台进程之间的通信-前台应用发信息给后台的守护进程

当我们创建基于mobilesubstrate的应用时,通常都是一些前后台程序,典型的比如苹果皮等,这个需要前台程序法信息到后台进程中,这里有两种方式一种是基于文件的模式也就是在后台程序中设定一个定时器,定时读取用户交互信息的文件,这样实现的通信机制,虽然也解决了问题,但是,缺陷是需要一直跑一个定时器来查询前台是否传递信息过来了还有一种是使用CFMessagePortRef典型的

2012-08-16 10:41:34 4419

原创 IPhone开发 IPad使用UIModalPresentationFormSheet时隐藏键盘

普通的做法resignFirstResponder在UIModalPresentationFormSheet的时候不起效 加上如下代码:[passwordField resignFirstResponder]; @try { Class UIKeyboardImpl = NSClassFromString(@"UIKeyboardImpl");  id activeInst

2012-06-29 20:40:17 2607 3

原创 mac下文件批量重命名的方法(命令行)

网站上传的500多张图片后发现需要区分缩略图,大图,中图。但是之前上传的没有区分,无奈之下只能省事的办法了,总不能一张一张的修改吧。写一段bash,使用mv命令达到批量重命名的目的。例子:我现在要把aaaaaaaaaaaaa.jpg重命名为aaaaaaaaaaaaa_MED.jpg请使用如下命令:for i in *.jpg;do mv "$i" "${i%

2012-06-14 15:59:51 18574

原创 如何获取当前视图中成为第一响应者的组件,并取消注册

如何获取当前视图中成为第一响应者的组件,并取消注册UIWindow *keyWindow = [[UIApplication sharedApplication] keyWindow]; UIView *firstResponder = [keyWindow performSelector:@selector(firstResponder)]; [firstResponde

2012-06-14 15:58:49 6331 1

转载 位运算

1. 位运算 第 16 章 运算符详解 1. 位运算 请点评整数在计算机中用二进制的位来表示,C语言提供一些运算符可以直接操作整数中的位,称为位运算,这些运算符的操作数都必须是整型的。在以后的学习中你会发现,有些信息利用整数中的某几个位来存储,要访问这些位,仅仅有对整数的操作是不够的,必须借助位运算,例如第 2 节 “Unicode和UT

2012-06-04 21:35:43 1803

转载 Mac OS X Lion与Xcode 4.3以及Homebrew的故事

用Lion也有段时间了。总的来说有好的也有坏的,好的不多说,咱说说它的缺点,顺便吐槽一下开发者常用的Xcode和Homebrew。1、开机慢了。机械硬盘,320G5400转,原装的。还记得SnowLeopad开机时候菊花转上十多圈就进系统了,现在Lion得转上二三十圈,等的那叫人一个纠结啊。2、关机时候非得留意把下次开机重新打开窗口的勾勾去掉,虽然网上也有处理办法,例如

2012-05-25 18:46:36 4287

转载 Core Foundation 框架

Core Foundation 框架Core Foundation框架 (CoreFoundation.framework) 是一组C语言接口,它们为iOS应用程序提供基本数据管理和服务功能。下面列举该框架支持进行管理的数据以及可提供的服务:群体数据类型 (数组、集合等)程序包字符串管理日期和时间管理原始数据块管理偏好管理UR

2012-05-16 19:06:08 3137 2

转载 各种音视频编解码学习详解 h264 ,mpeg4 ,aac 等所有音视频格式

编解码学习笔记(一):基本概念媒体业务是网络的主要业务之间。尤其移动互联网业务的兴起,在运营商和应用开发商中,媒体业务份量极重,其中媒体的编解码服务涉及需求分析、应用开发、释放license收费等等。最近因为项目的关系,需要理清媒体的codec,比较搞的是,在豆丁网上看运营商的规范 标准,同一运营商同样的业务在不同文档中不同的要求,而且有些要求就我看来应当是历史的延续,也就是现在已经很少采

2012-05-08 14:43:39 10239 6

转载 iOS Code Signing: 解惑详解

Iphone开发的代码签名 英文版链接:http://developer.apple.com/iphone/gettingstarted/docs/signingcodeforiphonedev.action 代码签名确保代码的真实以及明确识别代码的来源。在代码运行在一个开发系统以前,以及在代码提交到Apple发布以前,Apple要求所有的的应用程序都必须进行数字签名。另外,A

2012-05-03 13:14:12 5696

原创 Mac电脑登陆万网 linux 乱码解决办法

在linux上运行 export LC_ALL=zh_CN.UTF-8;export LANG=zh_CN.UTF-8 命令。

2012-04-28 13:09:33 1462

翻译 layoutSubviews 用法

layout用法It’s important to optimize any UIView layoutSubviews method you create, as it can be frequently called, and has the potential for creating recursion (triggering a setNeedsLayout fr

2012-04-20 15:34:30 2668

转载 P2P之UDP穿透NAT原理并有UDP打洞的源码

首先先介绍一些基本概念:    NAT(Network Address Translators),网络地址转换:网络地址转换是在IP地址日益缺乏的情况下产生的,它的主要目的就是为了能够地址重用。NAT分为两大类,基本的NAT和NAPT(Network Address/Port Translator)。    最开始NAT是运行在路由器上的一个功能模块。    最先提出的

2012-04-08 22:42:23 2782

转载 内存区划分、内存分配、常量存储区、堆、栈、自由存储区、全局区[C++][内存管理]

一. 在c中分为这几个存储区1.栈 - 由编译器自动分配释放2.堆 - 一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收3.全局区(静态区),全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域,未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。- 程序结束释放4.另外还有一个专门放常量的地方。- 程序结束释放

2012-03-11 13:18:12 1551

原创 iOS--对iOS时间类的代码总结 NSCalendar NSDateComponents NSDate

前一段时间感觉苹果的时间类很乱,但是经过仔细琢磨,感觉苹果对时间类的架构还是非常好的,下面是我读苹果官方文档,并总结下来的代码,如果有什么错的地方还请指出。////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

2012-03-07 19:34:26 9642 2

转载 iOS-ssh无密码登入设置

由于经常需要登录一些远程的服务器,每次都需要将密码重输一遍,如下:#ssh 用户名@我的服务器的ip用户名@我的服务器的ip's password: (这里需要手动输入密码后回车)Linux redcat 2.6.31-20-generic #58-Ubuntu SMP Fri Mar 12 05:23:09 UTC 2010 i686Last login: Sat Apr 10

2012-03-01 10:52:44 4613

转载 IOS中二维坐标变换

1.坐标变换的数学基础      1.1 坐标系          数学中我们使用的是笛卡儿坐标系,如下图所示:                                                 X轴正方向向右,Y轴正方向向上,原点O,坐标点A(x,y)。         1.2 仿射变换             已知坐标点A,变换后新坐标系中坐标为B

2012-02-22 13:15:42 2235 1

原创 iOS-SQLite中怎么将两个字段字符串合并连接为一个

在SQLite下我测试了SELECT 'A'+'B'结果为0select "A"+"1" 结果为1select "A"+1 结果为1select 2+1 结果为3感觉在“+”运算中,SQLite将字符串非数字串都当作0处理了 加号就是针对数字的,所以应该用 || 来拼接字符串的结果select wid||word from table1;

2012-02-17 10:59:18 4512

原创 非常有用的iphone开源应用!!!

本文转自网络----禚来强破解开发 - 最有名的mobilesubstratehttp://svn.saurik.com/repos/menes/trunk/mobilesubstrate/mobilesubstrate是大多数开机运行程序的基础平台,有了它,我们hook系统函数等将会变得非常方便MobileSubstrate是一个公共库,可以用来动态替换内存中的代码、数据

2012-02-13 11:08:20 3628 2

ARC详解.pdf

IOS5 中最具颠覆性的变化当属自动引用计数(Automatic Reference Count- ing)的引 入,缩写为 ARC。ARC 是新的 LLVM 3.0 编译器具备的特性之一,这项技术完全摒弃了让 所有 IOS 开发者由爱生恨的手动内存管理。

2013-02-01

空空如也

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

TA关注的人

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