ddrccw's library

ddrccw's library

Breadth of knowledge is a by-product of deep research

利用UIWebView实现富文本编辑器
正文最近的一个ipad项目有需求,需要在iOS客户端上实现一个笔记功能。由于之前的一个版本对于笔记的功能要求不高,我也只是用UITextView实现了简单的录入。但是接下来的一个版本对于笔记的功能则是希望有web端富文本编辑器的所见即所得的效果。 刚开始,我还以为只能通过Core Text实现。如果要考虑基于HTML实现录入内容的跨平台展现,可能还需要做一番HTML到NSAttributeString的对应转换,而且很多东西如复制要自己实现,比较麻烦。 后来,上网查阅了一番,经tx的ayangxu的PPT的提点,发现可以用UIWebView实现富文本编辑,而且现今比较知名的app–eve...
使用shell脚本build并创建ipa文件
前言由于项目引入了敏捷开发,需要每天build出一个ipa供QA测试。此前是使用Xcode先achive出一个文件,再在organizer->achives里发布ipa,一直感觉也没啥不方便的。直到某天,装了InstaSign,突然发现无法用之前的方法codesign自己的ipa(真是自作孽啊T ^ T..),网上有人说是修改了系统自带的codesign和codesign_allocate,重装xcode也没用。不过还好能build出自己项目的app,利用iTune,再创建一个ipa文件。但是这种不得已的办法,对于需要每天都打ipa包的俺来说,实在是太繁琐了。于是就有了利用shel...
关于NSDate的tips
前言最近看了一些开源Calendar的实现,里面有不少关于NSDate与NSCalendar、 NSDateComponents、 NSDateFormatter等对象的转换,看着看着又差点把自己绕晕了。想起过去曾解决过的界面显示的时间与服务器端传过来的时间不一致的问题,看来有必要做个了断了。嘿嘿。 正题一些基本概念 NSDate是基于GMT(UTC),参考文档 The sole primitive method of NSDate, timeIntervalSinceReferenceDate, provides the basis for all the other methods...
升级app到ios6
前言手头上的项目开发时原本跑的板子是ipad2(ipad5.1.1),但考虑到客户那边到时会购买新的ipad,势必要让现阶段的代码能够在ios6上运行,故花了点时间做了一下适配工作。已下讨论到的问题仅在我的适配过程中遇到,并不涵盖升级app到ios6的全部问题。 正题旋转参考RN-iOSSDK-6_0,在<ios6的版本中,UIViewController类中提供shouldAutorotateToInterfaceOrientation:的方法告诉系统实现的VC支持什么方向的旋转。但在ios6中,旋转支持的判断则不会涉及到开发过程中的每个VC,责任更多的推到了上游。 一方面,系统...
Google Objective-C Style Guide学习笔记
前言之前拜读了《clean code》一书,在它的前言里看到了这样一句经典的话: The only valid measurement of code quality: WTF/min 译:衡量代码质量的唯一有效标准:WTF/min 当时顿时就笑喷了,但静下心来一想,虽然可能有些夸张,但是也确实有道理。回想以前接手过的历史遗留代码,有看过比较厉害的前辈,纵然不使用注释,但代码看起来却也让人十分清爽。有的同一个项目但是因为有多人开发,代码风格迥异。更有甚者,即便是同一个人写的几段代码,竟然也能变异出几种风格,看的我甚是蛋疼。。。虽然说像geek一样编码,可能是一件十分cool的事,但落实到...
apple products comparison
不知不觉,我也差不多搞了半年左右的iOS开发了。虽然大多数接触的是软件层面上的事,apple本身的产品确实也用着比较爽,但每每有人问起apple产品具体的硬件特点,我却真的答不出个所以然。。。囧rz。尽管硬件看似与软件开发没啥关系,但细细一想,硬件也算平台的一个卖点。一方面,硬件的推广势必增加潜在的软件用户,另一方面,硬件自身的提升与改变必然也会影响软件的性能和开发。也正因此,我决定要花点时间来对apple的移动端产品做个了解。以下的数据资料主要是从苹果官网和维基百科上扒下来的,不全,但也应该能够有个大概的了解。 update: 2013.12.8 颜色只标示了比较重要的变化:字体颜色表...
iOS开发过程中常见的debug技巧
前言记得刚学ios那会儿,我还不会用debug工具。编程时,最痛苦的莫过于程序莫名其妙的在main函数crash,其中,SIGABRT、EXC_BAD_ACCESS、Assertion failure等情况居多。虽然也看了一些资料,但是一直也没怎么系统的整理过相关知识,故特此整理一下。 正文虽然有高手可以纯粹用gdb直接调试,但我等菜鸟还是利用一下Xcode的提供的图形界面,保证一下工作效率:P 1 异常捕捉想必这也是最最基本的步骤,在Xcode导航栏找到断点导航栏,如图添加Exception breakpoint 如果想有针对性的步骤异常,比如Objective-C exceptio...
在github上用jekyll搭建个人blog
前言说起写个人blog,如果是在学生时代,我肯定会觉得不可思议,理由很简单–我很懒的动笔。但让我燃起写blog的决心,却还得从工作后开始说起。平常工作中,我难免会遇到各种各样的问题。有了问题,自然需要放狗搜索,一篇一篇的翻看过去。如果是过去,我如果看到好文会保存文章链接到书签,有时往往一个问题的解决会让我收集好多个书签,于是随着时间的延长,我的浏览器书签栏也越来越臃肿。更可恶的是,有时一个同样问题的解决,由于我个人理解的不够深入或记忆不足等原因,最终导致我又得打开一个个书签去看。这样与其浪费找同样问题的时间,还不如花点时间记点笔记整理一下思路来加深理解。由此权衡利弊,我不得不开始blog...
single app mode
所谓的single app mode, 就是让iOS设备只运行指定的app,同时让物理的home键失效, 让使用者无法退出相应的app。咋看之下,或许这种模式显得很不符合用户的使用习惯。但具体考虑还是存在适合使用这种mode的情况,如企业用户app,教育类app, 信息展示app或儿童使用的app。 iOS 6已经准备提供Guided Access,其描述如下: iOS 6 comes with even more features to make it easier for people with vision, hearing, learning, and mobility dis...
获取Settings bundle中预定义的默认值
1 背景所谓的Settings Bundle就是把一个名为Settings.bundle的文件放置于你的app的根目录下。该文件可以被系统的Settings.app所用,来配置你自己的app的一些设置。具体介绍参考Implementing an iOS Settings Bundle 2 问题描述理想情况下,我们希望app安装完好,然后直接进入能载入一些相关配置,如果有默认配置值,则直接加以应用。然而开发过程中,在xcode中设置setting bundle里一些配置项的默认值后,运行app,通过[[NSUserDefaults standardUserDefaults] objectF...
ddrccw
Breadth of knowledge is a by-product of deep research