iOS&OSX

LLDB使用篇(上)

LLDB是个开源的内置于XCode的具有REPL(read-eval-print-loop)特征的Debugger,其可以安装C++或者Python插件。
本系列针对于已经知道何为debugger,且有gdb或者lldb使用经验的读者。对于lldb的娴熟使用者,也可以用来作为查阅手册。
这一篇,我们讲述lldb内建的命令。
lldb与gdb命令名的对照表:http://lldb.llvm.org/lldb-gdb.html
1.help命令
单单执行help命令会列出所有命令列表,用户加载的插件一般来说列在最后。
执行help <command>可以打印指定command的帮助信息,至于插件提供的命令,其帮助信息取决于插件本身的实现。

升级OSX10.9之后macports无法使用的解决办法

一.我的deb包打不出来了,因为gnutar没了
所以我要安装gnutar
二.用port install gnutar发现下载后无法解包,因为解包命令使用的是gnutar,真是鸡生蛋蛋生鸡
修改配置文件让port使用tar而非gnutar:
/opt/local/share/macports/Tcl/macports1.0/macports_autoconf.tcl: variable tar_command

Xcode环境变量列表

Xcode env var
https://developer.apple.com/library/mac/documentation/DeveloperTools/Reference/XcodeBuildSettingRef/1-Build_Setting_Reference/build_setting_ref.html
Variable Example
PATH "/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
LANG

教你把UIView切成任意形状

有时候layer.cornerRadius并不能满足需求,自己实现drawRect又太麻烦,怎么办?
多的不说,直接上代码:
 
- (void)dwMakeBottomRoundCornerWithRadius:(CGFloat)radius
{
CGSize size =

新xcode的literal syntax是什么

New Objective-C Literal Syntax for NSArray, NSDictionary 是以@字符开始的方式简单地创建数组、字典、NSNumber常量。
代码如下:
NSNumber *n1 =

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

一、异常的原因
在连接一个含有category的静态库的时候,往往会得到一个运行时exception “selector not recognized”。
这是由于 UNIX的静态库实现、linker和Objective-C的动态结构三者之间的问题引起的。
Objective-C并不为每个函数定义linker symbol,它只为每个class生成linker symbol。(objc的动态结构)
如果你为一个已存在的class创建了category,那么linker并不知道要将原始class实现和category实现联系起来。这就导致了最终程序中的对象没法响应category中的方法。

plist字段列表,很全

bundle字段
这些字段名都是XML中的名称,在xcode的属性编辑器中,名字并不相同


bundle目录中的属性列表详细描述了有关该bundle的信息。Finder和一些系统API在一些情况下会使用这些信息。bundle支持下列字段类型:

Core

PDF的box: MediaBox、CropBox、BleedBox、TrimBox和ArtBox

一个PDF描述了一页或者多页的内容,一页的准确大小很可能不是你想的那样。在PDF中共有5个不同的大小描述术语。它们统称为page box:

MediaBox用来描述页面的高度和宽度。对于普通用户,这个大小很可能等同于实际的页面大小。对于用于印前处理,就不太适合,因为我们更希望将页面定义得稍微大一点以便让我们看到页面的bleed(bleed是什么?下面有解释,国外的一个网站介绍的)、裁剪标记和有用的信息比如文件名或者文件创建的时间日期。这就意味着用于图形印刷品的PDF通常其MediaBox比裁剪页面大小稍大。MediaBox是一个页面中最大的box。其他的box可以和它一样大,但绝不可以比它大。
CropBox 定义了页面内容的裁剪到区域.Adobe Acrobat软件使用这个来显示和打印页面. 如果用于印前处理,这个box就太不着调了.