O’s World

努力!奋斗!

认识 TextKit

| 评论

iOS7 的发布给开发者的案头带来了很多新工具。其中一个就是 TextKit(文本工具箱)。TextKit 由许多新的 UIKit 类组成,顾名思义,这些类就是用来处理文本的。在这里,我们将介绍 TextKit 的来由、它的组成,以及通过几个例子解释开发者怎样将它派上大用场。

但是首先我们得有一点背景知识:TextKit 可能是近期对 UIKit 最重要的补充了。iOS7 的新界面用纯文本按钮替换了大量的图标和边框。总的来说,文本和文本布局在新的操作系统的外观方面比以前重要多了。iOS7 的重新设计完全是被文本驱动,这样说也许并不夸张——而文本全部是TextKit来处理的。

告诉你这个变动到底有多大吧:iOS7 之前的所有版本,(几乎)所有的文本都是 WebKit 来处理的。对:WebKit,web 浏览器引擎。所有UILabel、UITextField,以及 UITextView 都在后台以某种方式使用 web 视图来进行文本布局和渲染。为了新的界面风格,它们全都被重新设计以使用TextKit。

使用 Class-dump-z 和 Clutch 分析 iOS App

| 评论

什么是 class-dump-z

class dump 是一个命令行工具,用来监测存储在 Mach-O 二进制文件理的 Objective-C 运行时信息。它为类(class),分类(category)和协议(protocol)生成声明信息。这些信息与 otool -ov 命令提供的信息是一样的,但表示得更像正常的 Objective-C 的声明,所以它更紧凑,更易读。

class dump 有三个版本:class-dump, class-dump-x 和 class-dump-z。class-dump-z 是对 class-dump 和 class-dump-x 改进版,完全用C++重写,避免动态调用,使得 class-dump-z 比它的前任们快10倍左右。并且可以在 Linux,Mac, iPhone 上运行。

如何查看第三方 App 的视图结构

| 评论

RevealSpark Inspector 是两款 iOS 上比较好用的 Inspector View Hierarchy 工具。它们能够将 App 界面的视图层次结构实时的展示出来,以便于调试分析,就好像用 FireBug 分析 Web 页面一样。

一般情况下,RevealSpark Inspector 都只能用在自己的项目中,因为必须在项目中包含他们的库文件。如果我们能够在没有源码的情况下使用 RevealSpark Inspector 分析他人的 App View Hierarchy,无疑是一个很好的学习途径。

在 iOS 设备上安装和使用 OpenSSH

| 评论

什么是 OpenSSH

OpenSSH 是一个在 Linux 下很实用的一个软件。iPhone 本身就是一个运行 BSD 系统(可认为是一种 Liunx)的硬件,因此,Cydia 的作者 Saurik 把 OpenSSH 这一软件移植到了 iOS 平台上,并且简化了安全认证密钥的繁琐,使之成为一款可以在 iPhone 上运行的 Cydia 软件。

使用 MobileTerminal 修改 iOS 设备 Root 权限密码

| 评论

为什么要修改 root 密码

iOS 设备越狱后,就拥有了完全的权限,你可以任意安装任意的软件,但是也存在一定的风险,因为默认的root密码是一样的–alpine,这种弱口令是很不安全的。而且如果不修改,别人也会拥有管理你的系统的权限,这样当你的设备在网络中时就造成你的设备很容易被入侵,或者在不安全陌生的环境中会感染病毒(例如3G环境),所以,为了以后安全,建议最好修改。

让 Octopress 支持 LaTeX

| 评论

安装并使用kramdown解析器

kramdown 是一个用Ruby实现的Markdown的解析器, 要让octopress 支持 LaTeX 首先要安装 kramdown。

1
gem install kramdown

安装完成后修改 octopress 的 _config.yml 文件。

修改

1
markdown: rdiscount

1
markdown: kramdown