zoukankan      html  css  js  c++  java
  • 项目开发经验01

    软件开发方面

    1.  在每个页面的入口和出口(一般是viewDidLoad和dealloc)打上日志,可以了解用户的操作流程,并查出页面在关闭时是否销毁了相应的对象。

    2.  定时器NSTimer 需要在一个新线程中运行,否则UI操作会阻塞定时器。

    3.  需要为定时器所在的线程设置NSRunLoop,否则定时器可能不会动。

    4.  如果在线程中设置了NSRunLoop,需要在销毁线程时也将其停止,使用CFRunLoopStop 。

    5.  所有的UI操作都应该在主线程中执行,否则会导致应用崩溃(不一定是立即崩溃)。

    6.  如果项目中有c函数,出现同名的函数会导致应用编译失败,即使这些c函数处于不同的页面中。

    7.  使用ASIHttpRequest,同步下载过程是不能被取消的,异步下载过程才可以被取消。

    8.  应用内支付,支付成功的回调里面,还需要对加密数据transactionReceipt 进行验证,避免越狱的机器使用 IAPFree 等软件伪造数据。

    9.  不要试图获取设备的UDID,否则会造成应用审核不通过。可以使用OpenUDID 或者 Mac 地址代替。

    10.将比较费时的操作不要放在主线程中执行,避免UI响应慢。应该在一个新线程中执行(对有同步要求的操作除外)。

    11.使用最新的Xcode and iOS SDK进行开发,对高版本的兼容性会好一些。例如Mac 10.6下只能安装Xcode4.2and iOS SDK 5.0 ,对iOS 5.1版本的系统就不能直接调试。

    12. 图片命名:例如有一张图片为 MyImage.png,为了兼容不同设备,需要存为不同分辨率的图片,命名规则如下:

    • MyImage.png - 默认的图片名称。

    • MyImage@2x.png - 适用于Retina 显示屏的高分辨率图片。

    • MyImage~iphone.png - 适用于iPhone 和 iPod touch的图片。

    • MyImage@2x~iphone.png - 适用于iPhone and iPod touch 设备 Retina 显示屏的高分辨率图片。

    • 在显示图片时,只需要直接取 @"MyImage.png",系统就能根据当前的设备,自动读取相应的图片了。

    • 注意:以上图片命名规则只使用于UIKit框架。如果使用了cocos2d等其他框架,则有另外一套命名规则。

    一些好用的框架/组件:

    1.  PDColoredProgressView进度条组件,可以设置进度条的颜色,支持iOS4。但是在ASIHttpRequest的下载进度条中不好使用。

    2.  MTLabel可以对label中的文字设置行高。

    3.  TSAlertView可以在弹出框(UIAlertView)中设置输入框,类似于JavaScript中的prompt 。

    4.  ZipArchive对文件进行压缩和解压操作。

    5.  ASIHTTPRequest数据的上传和下载,以及断点续传。

    6.  json-framework文件格式解析。

    性能优化

    1.  使用xcode自带的 Instruments工具可以查看应用的内存,cpu等资源使用情况。

    2.  JSON格式解析速度优化。有人分析说 JSONKit 比 json-framework 效率更高。

    日志跟踪

    1.  友盟,比较全面的数据分析工具。

    2.  Crashlytics.framework可以记录应用程序崩溃日志,并快速定位到出问题的代码行。国内可能需要FQ。

  • 相关阅读:
    606. Construct String from Binary Tree
    696. Count Binary Substrings
    POJ 3255 Roadblocks (次短路)
    POJ 2823 Sliding Window (单调队列)
    POJ 1704 Georgia and Bob (博弈)
    UVa 1663 Purifying Machine (二分匹配)
    UVa 10801 Lift Hopping (Dijkstra)
    POJ 3281 Dining (网络流之最大流)
    UVa 11100 The Trip, 2007 (题意+贪心)
    UVaLive 4254 Processor (二分+优先队列)
  • 原文地址:https://www.cnblogs.com/guangleijia/p/4759773.html
Copyright © 2011-2022 走看看