软件开发方面
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可以记录应用程序崩溃日志,并快速定位到出问题的代码行。
分享到:
相关推荐
总结起来,多年iOS开发经验总结中提及的这些知识点涵盖了在iOS开发过程中常见的一些问题和解决方法。通过使用UIKit和Foundation框架提供的API,开发者能够解决界面设计、多线程操作、数据类型比较、日期时间计算等...
在iOS开发领域,无论是初学者还是经验丰富的开发者,持续学习和总结都是非常重要的。这份"iOS开发总结"文档可能涵盖了从基础概念到高级技术的各种知识点,旨在帮助开发者提升技能和解决问题。 首先,iOS开发主要...
一本自己总结的开发资料,很基础,希望给大家带来帮助
在这份文档中,作者分享了他在iOS开发领域一年的工作经验,总结出了超过100个常用的知识点,并且提供了实例代码以供调试和参考。这些知识点对于iOS开发入门者和希望通过实践加深理解的开发者来说非常有帮助。文档中...
### 一年iOS开发工作总结知识点详解 #### 一、前言 本文档旨在分享作者从事iOS开发一年以来积累的经验与心得,特别聚焦于100多个常用的小知识点,并附带了可运行实例代码以便读者能够更好地理解和实践。这些知识点...
1. 工作经验:iOS 开发程序员应届生在江苏 XX 科技有限公司担任实习 iOS 开发一职位,负责公司 iOS 产品的开发和优化,参与产品设计和需求分析,按照项目计划高质量按时交付开发任务,编写设计开发及实现文档。...
在iOS开发中,经验与技巧的积累对于提升项目的质量和效率至关重要。本文将分享一些资深iOS开发者在实践中总结的关键知识点。 首先,我们来讨论内存管理。在iOS开发中,内存管理是优化应用性能的关键。特别是在涉及...
iOS开发是一个广阔而充满活力的领域,掌握了基础知识和技能后,读者可以尝试更多复杂的项目,提升自己的编程能力和项目经验。希望本文能为读者提供有价值的参考,帮助其在iOS开发领域取得更大的进步。
总结起来,通过研究“ios开发Puff游戏源码”,我们可以学习到iOS游戏开发的基础知识,包括Xcode的使用、游戏引擎的工作原理、面向对象编程、资源管理、事件处理和兼容性问题。这不仅有助于提升我们的编程技能,还...
在iOS开发领域,无论是新手还是有经验的开发者,都需要不断学习和总结。本文将从Xcode快捷键、Objective-C编程语言的关键点等方面进行深入探讨,旨在为新手提供一个全面的入门指南。 首先,Xcode作为iOS开发的主要...
这是某位开发人员总结一年ios开发的经验总结,有很多值得学习的!
**Swift-JHChart:iOS开发中的图表神器** Swift-JHChart是专为iOS开发者设计的一款强大的图表库,它提供了一套简洁、功能丰富的API,使得在iOS应用中集成各种图表变得异常简单。这款库以其高度可定制化的特点,能够...
在iOS开发领域,这是一份个人学习经验的总结,涵盖了从入门到进阶的关键知识点。iOS开发主要使用Swift编程语言,这是一种由Apple公司推出,旨在提升开发效率,同时保持代码简洁和安全的语言。Swift语法清晰,易于...
在iOS开发领域,开发者们面临着一系列的技术挑战与机遇。标题“ios开发心得.rar”...这份“ios开发心得”文档很可能包含了作者在这些领域的实践总结,对于想要提升iOS开发技能的人来说,无疑是一份值得深入研究的资料。
【标题】:“ios与mac开源项目和学习资料总结iOS开发技巧共33页”这个标题表明,这是一份专门针对iOS和Mac平台的开源项目及学习资料的综合指南,涵盖了33页的内容,旨在帮助开发者提升iOS应用开发的技能。...
- 常见的设计模式如单例、工厂、代理、装饰器、观察者等在iOS开发中的应用。 10. **安全性**: - App Transport Security (ATS):理解HTTPS的强制性及其配置。 - 数据加密:了解AES、RSA等加密算法在iOS中的应用...
- **开发环境**:使用Xcode作为官方推荐的集成开发环境(IDE),它包含了一整套用于开发iOS应用的工具和服务。 #### 三、核心游戏开发技术 - **Core Animation**:用于实现复杂动画效果的核心技术,有助于提升游戏...
以下是从不同维度总结出的一系列iOS开发最佳实践。 #### 最佳学习方法实践 - **选择合适的书籍:** 在学习之初,挑选适合自己的书籍至关重要。建议从基础入手,逐步过渡到高级主题。例如,《iOS Programming: The ...