分类 "ios" 的存档.

Couldn’t register xxx with the bootstrap server

  今天同事拿了一个4S手机,还是iOS5的系统不说,他还越狱了,越狱之后还装了各种好玩的、新奇的应用,然后在调试APP的时候,突然出现了问题,与libMQQSecureJBFoundation.dylib冲突:
阅读更多…

iOS通过http post上传图片

  由于iOS无法通过html表单来上传图片,因此想要上传图片,必须实现http请求,而不能像其他语言那样通过html表单的post就能上传。 所以上传图片只能通过底层的的http post来请求,格式是这样的:
阅读更多…

xcode4中build Settings常见参数解析

1.Installation Directory:安装路径

静态库编译时,在Build Settings中Installation Directory设置“$(BUILT_PRODUCTS_DIR)”

Skip Install设为YES

Installation Directory默认为/usr/local/lib
阅读更多…

xcode4的环境变量详解

$(BUILT_PRODUCTS_DIR)
build成功后的,最终产品路径--可以在Build Settings参数的Per-configuration Build Products Path项里设置

$(TARGET_NAME)
目标工程名称
阅读更多…

id ,NSObject, id<NSObject>区别

  这个问题还是以前就没有考虑过的,还是面试的时候被问到了,就查出来看看。脑补一下。
  我们经常会混淆以下三种申明(我是没有留意过):
  1. id foo1;
  2. NSObject *foo2;
  3. id<NSObject> foo3;
阅读更多…

xcode去掉icon高亮方法

之前的建议方法是把在xxx.info.plist文件中把

icon already includes gloss and bevel effects 设置YES
阅读更多…

详解Binary Plist格式

  Apple Plist格式 有2种: XML格式 和 二进制格式(bplist, Binary Plist). 搜了一下没有太官方的文档说明二进制格式的描述,只有在苹果开源代码文件的注释里头提到, 我仔细研究了一下,也参考了Node.js代码和Python代码中的解析过程,把具体格式做下说明,如果有不对的请立即指正以免误导大家. 阅读更多…

PList文件的XML与二进制

  Plist文件通常用于储存用户设置,也可以用于存储捆绑的信息,该功能在旧式的Mac OS中是由资源分支提供的。
  在Mac OS X 10.5之前的系统里面,使用defaults命令操作完Plist文件后,Defaults命令并不改变原来的Plist文件的编码方式,OS X支持两种编码:文本的XML方式和二进制方式. 对于二进制方式,用户无法使用文本编辑或者如cat命令等来显示该文件, 这对于用户来说不方便,但是系统可以更快地处理二进制的Plist文件,可能基于这个原因,Leopard改变了Defaults的行 为:Defaults命令会改变Plist文件为二进制格式。
   阅读更多…

第14条:理解“类对象”的用意

  Objective-C实际上是一门极其动态的语言。第11条讲解了运行期系统如何查找并调用某方法的实现代码,第12条则讲述了消息转发的原理:如果类无法立即响应某个选择子,那么就会启动消息转发流程。然而,消息的接收者究竟是何物?是对象本身吗?运行期系统如何知道某个对象的类型呢?对象类型并非在编译期就绑定好了,而是要在运行期查找。而且,还有个特殊的类型叫做id,它能指代任意的Objective-C对象类型。一般情况下,应该指明消息接收者的具体类型,这样的话,如果向其发送了无法解读的消息,那么编译器就会产生警告信息。而类型为id的对象则不然,编译器假定它能响应所有消息。
   阅读更多…

第13条:用“方法调配技术”调试“黑盒方法”

  第11条中解释过:Objective-C对象收到消息之后,究竟会调用何种方法需要在运行期才能解析出来。那你也许会问:与给定的选择子名称相对应的方法是不是也可以在运行期改变呢?没错,就是这样。若能善用此特性,则可发挥出巨大优势,因为我们既不需要源代码,也不需要通过继承子类来覆写方法就能改变这个类本身的功能。这样一来,新功能将在本类的所有实例中生效,而不是仅限于覆写了相关方法的那些子类实例。此方案经常称为“方法调配”(method swizzling)。
   阅读更多…