zoukankan      html  css  js  c++  java
  • iOS开发总结


    最近在工作中使用Objective-C开发iOS客户端程序,它一方面和Server通讯,处理网络连接,收发报文,实现业务逻辑;另一方面为UI层提供各种业务API.

     
    下面记录用到的相关知识点,困难,解决方法等.
     
    1. 使用开源项目的代码,加快开发速度,而且许多开源项目功能丰富,也比较稳定.
    我在开发中用到的:
    1)网络:
    GCD Async Socket: 功能强大的异步socket库
    AFNetwork:一个轻量级的iOS网络通信类库
    ASIHttpRequest: 也是一个很出名的封装了的网络库
    Reachability: 苹果提供的例程, 检测手机不同网络模式下的联网情况
    2)安全加密:
    RSA加密: 使用Security库,网上有很多实现,需要作der证书.这儿花了很多功夫,开始使用openssl实现,但是生成的库文件因此增大1M左右, 后来优化才搞定.
    MD5加密: 库CommonDigest中有实现,但是需要再稍稍封装下.
    Base64加密: Google的GTMBase64 
    3)日志
    LumberJack,很好的日志系统
    4)协议
    ProtocolBuffer:一种与语言无关, 平台无关, 扩展性好的通讯协议, 数据存储的结构化串行化方法.
    参考: http://blog.csdn.net/21aspnet/article/details/6594036
     
    2. Objective-C语言相关:
    开发过程其实也是学习OC的过程,因为公司项目紧,没初学几天就开始开发了.这里总结常用到的语法相关的东西,而且很容易忘了或者搞混.
    1) NSData 和 NSString的定义, 初始化, 赋值, 以及二者的互相转换,而且涉及到字符串编码问题,很容易出错;
    另外也经常遇到Byte和这两个之间的转换使用;
    2) self, super, property, synthesise等这些语法,新手开始用总是不太清楚;
    3) 指针的问题, 我原来用C开发还比较习惯, 如果原来作Java开发,则可能经常会在这儿遇到编译出错问题;
     
    3. iOS相关:
    我原来一直进行Linux server端开发,现在是手机客户端, 新的语言,开发设计过程需要经常调整思维模式.
    1) 内存,文件读写传输等涉及size的要考虑;
    2) iPhone手机对应多个iOS版本,客户端要求都能适应,可能会出现某个版本运行就会crash但其他版本没事的问题;
    3) 手机device信息查询,特别device id的获取,iOS 6.0 还好, 5.0获取device id接口作废了,后来为了统一只好使用网卡mac地址自己生成device id了.
    4) 开发的时候,使用模拟器测试,但程序最后还是跑在手机上,有可能模拟器ok,但是真机不行的问题;
    比如用到自己编的静态lib库,iOS前后台处理的问题
  • 相关阅读:
    【设计模式】模板模式
    【设计模式】策略模式
    【设计模式】空对象模式
    【设计模式】状态模式
    【设计模式】观察者模式
    【设计模式】备忘录模式
    【设计模式】中介者模式
    【设计模式】迭代器模式
    【设计模式】解释器模式
    【设计模式】命令模式
  • 原文地址:https://www.cnblogs.com/x-poior/p/5133108.html
Copyright © 2011-2022 走看看