分类 "ios" 的存档.

详解Binary Plist格式之实战解析

  Plist二进制格式的实际解析思路,就依据下面的plist为例来解析,下面的例子涵盖了所有的Key。
阅读更多…

iOS上GB2312转UTF8编码

  NSStringEncoding只枚举了一些常用的,NSStringEncoding支持CFString提供的编码,CFString支持的很多,GB2312就在CFStringEncodings的枚举里面定义着,通过

CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000);

可以获取到对应的编码集。

走过、路过、痛过 —记那些年编码的坑

  来聊两个故事(其实是两个事故)。

故事1

  发生在项目紧急上线前,我接手了离职同事的代码,buglist里面的烫手山芋。
  bug描述:子页面的新增插入到本页面的全部和最新的Tab下面,如果tab下面没有数据,就不插入。
  开始分析:发现下面的枚举定义 阅读更多…

mac下文件带有扩展属性@的问题

  在mac os下HFS+的文件系统上 文件经常会被附加上mac专有的扩展属性 具体的表现是用ls -l 查看时 会有@标志 比如

$ ls -l
total 0
-rw-r–r–@ 1 Daniel  staff  0 16 Jul 19:28 1.txt
-rw-r–r–  1 Daniel  staff  0 16 Jul 19:28 2.txt

   阅读更多…

Debug for UIViewAlertForUnsatisfiableConstraints

在写storyboard的时候,发现有时候终端会打印这些警告。
Unable to simultaneously satisfy constraints.
Probably at least one of the constraints in the following list is one you don’t want. Try this: (1) look at each constraint and try to figure out which you don’t expect; (2) find the code that added the unwanted constraint or constraints and fix it. (Note: If you’re seeing NSAutoresizingMaskLayoutConstraints that you don’t understand, refer to the documentation for the UIView property translatesAutoresizingMaskIntoConstraints)

Make a symbolic breakpoint at UIViewAlertForUnsatisfiableConstraints to catch this in the debugger.
The methods in the UIConstraintBasedLayoutDebugging category on UIView listed in may also be helpful.
阅读更多…

view的drawrect VS UIImageView.image

对于一个简单的图片要渲染到屏幕上来说,通常用两种方法,1.用drawRect画,2.用UIImageView装载Image显示,下面来对比一下这两种情况的优劣。
测试环境(电脑:Xcode6.3,OS X 10.10.3 手机:ipod 4,iOS 6.0.1)
阅读更多…

Quartz2D两色线性径向渐变遮罩扇形

  因为昨天研究了《Xcode6之新特性IBInspectable&IBDesignable,今天就想搞一点更加深奥的喽。。。既然现在XIB支持的这么好我还是多学点画图吧。今天打算写一个:创建一个扇形遮罩,再创建一个两色径向渐变圆,用扇形遮罩去剪切径向渐变圆,就得到一个两色线性径向渐变扇形。
阅读更多…

Xcode6之新特性IBInspectable&IBDesignable

  Xcode 6 提供了这样一个替代,在旧技术上建立新的互动。在设计项目的时候建立一个自定义的界面使你可以配置自定义控制并将它们实时显示出来,用 IBInspectable 和 IBDesignable,这将成为可能。

IBInspectable

  IBInspectable 属性提供了访问旧功能的新方式:用户自定义的运行时属性。从目前的身份检查器(identity inspector)中访问,这些属性在 Interface Builder 被整合到 Xcode 之前就可用了。他们提供了一个强有力的机制来配置一个 NIB,XIB,或者 storyboard 实例中的任何键值编码(key-value coded)属性:
阅读更多…

iOS上的可执行文件和Mach-O格式浅析

  大家都知道,在Windows上exe是可直接执行的文件扩展名,而在Linux(以及很多版本的Unix)系统上ELF是可直接执行的文件格式,那么在苹果的操作系统上又是怎样的呢?在iOS(和Mac OS X)上,主要的可执行文件格式是Mach-O格式。本文就关于iOS上的可执行文件和Mach-O格式做一个简要整理。
  Mach-O格式是iOS系统上应用程序运行的基础,了解Mach-O的格式,对于调试、自动化测试、安全都有意义。在了解二进制文件的数据结构以后,一切就都显得没有秘密。
阅读更多…

一个轻量级iOS安全框架:SSKeyChain

  SSKeyChains对苹果安全框架API进行了简单封装,支持对存储在钥匙串中密码、账户进行访问,包括读取、删除和设置。SSKeyChain的作者是大名鼎鼎的SSToolkit的作者samsoffes。
  项目地址:https://github.com/samsoffes/sskeychain
阅读更多…