iOS开发编码规范与审核时的注意事项_第1页
iOS开发编码规范与审核时的注意事项_第2页
iOS开发编码规范与审核时的注意事项_第3页
iOS开发编码规范与审核时的注意事项_第4页
iOS开发编码规范与审核时的注意事项_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、iOS开发编码规范与审核时的注意事项一. 编码的排版格式1 代码的缩进应使用空格(SPACE),不能使用制表符(TAB),并且缩进以2个字符为单位。2 空格的使用 a) 关键字与其后的表达式之间要有空格,如:if (expr)或for (expr) b) 单目操作符不应与它们的操作数分开(如!和等)。 c) 除,外,其它双目操作符应与它们的操作数用空格隔开。如: i=i+1; /错误的写法,操作符两端没有空格 i = i + 1; /正确的写法, if(a>b) /错误的写法,逻辑判断符号两端没有空格 if(a > b) /正确的写法 d) .h中协议<>前面有一个空格

2、。 e) .h中成员声明时,类型与变量之间有至少1个空格。*号靠近变量,不靠近类 型。 f) property后留1个空格,()里面,逗号紧跟前一变量,与后一变量之间留1个空格。()外面,先留1个空格,再声明属性。 g) 方法的+,-后面与()之间留1个空格。 h) 返回类型与*之间留1个空格,方法参数中返回类型与*之间留1个空格。 i) 在多参数方法中,每个参数后面都有1个空格。3 关于空行 a) .h中的空行 1)、文件说明与头文件包含(#import)之间空1行 2)、头文件包含(#import)之间,如果需要分类区别,各类别之间空1行。 3)、头文件包含(#import)与class之

3、间空2行。 4)、interface与class之间空1行。 5)、头文件里面,空1行开始声明对象成员,如果需要分类区别,各类别之间空1行。 6)、头文件外,空1行书写属性,如果需要分类区别,各类别之间空1行。 7)、属性下面空1行开始写方法,如果需要分类区别,各类别之间空1行。 8)、方法完成后,空1行end。 9)、如果需要声明protocol,空2行接着写。通常protocol写在end后面,但是声明在interface之前。 b) .m中的空行 1)、文件说明与头文件包含(#import)之间空1行 2)、头文件包含(#import)之间,如果需要分类区别,各类别之间空1行。 3)、i

4、mplementation和synthesize之间空1行, 如果需要分类区别,各类别之间空1行。 4)、synthesize与方法之间空1行。 5)、方法与方法之间空1行。 c) 方法里面的空行 1)、变量声明后需要空1行,如果需要分类区别,各类别之间空1行。 2)、条件、循环和选择语句,整个语句结束,需要空1行。 3)、各功能快之间空1行。 4)、最后一个括弧之前不空行。 5)、注释与代码之间不空行。 6)、#pragma mark 与方法之间空1行。 d) 每行代码最多不得操作100个字。设置如下: Xcode => Preferences => TextEditing =&

5、gt; Page Guide at column /输入 100即可。二命名规范1 类 1) 所有的类名,接口名(Protocol)均以大写字母开头,多单词组合时,后面的单词首字母大写。类,接口名必须是有意义的。 2) 继承自UIView的类以View结尾。 例如:OperatorUsersInfomationView,LabelView等。 3) 继承自ViewController的类以viewController结尾。 例如:HomePageViewController,LoginViewController等。其他类推。 4) 所有保存数据的实体以Model结尾。例如:UserModel

6、2 方法1) 方法名首字母小写,多单词组合时,后面的单词首字母大写。方法的参数使用相同的规则。2) 方法名+参数应尽量读起来像一句话。3) getter的方法名和变量名应相同。不允许使用“get”前缀。如:- (id) getDelegate; / 错误- (id)delegate; / 正确3 变量 1) 变量必须起有意义的名字,使其他组员可以很容易读懂变量所代表的意义,变量命名可以采用同义的英文命名,可使用几个英文单词,第一个单词首字母小写,其他单词首字母大写。例如:NSString *userName; 2) 对于一些特殊类型的变量,命名时要带上类型,如NSArray 的变量命名为xxx

7、Array,其他的如xxxDictionary,xxxSize等。这样就可以从名称上知道是什么类型的变量。千万不能将NSArray的变量命名为xxxDictionary。 3) 成员变量使用“_”作为前缀。4 常量1) 避免在程序中直接出现常数,使用超过一次的应以宏定义的形式来替代。2) 常量的命名应当能够表达出它的用途,并且用大写字母表示。三iOS应用审核注意事项基本要点首先,你的应用程序: 不能导致手机故障(比如崩溃或屏幕问题) 长时间或过渡使用之后反应仍然很快 不要使用任何SDK里面的私人API 不要使用任何SDK文档里面没有列出的功能 不要提及用户设备上不存在的硬件功能 如果需要网络连

8、接,在没有网络的情况下要告知用户 不要(过渡)模仿任何本地应用程序 不要(过渡)山寨某个本地应用的功能 运行若干次之后不要过期或停止工作 不要使用任何未经批准的硬件配件 不要“无意中”发生这样的事情:不受限制的网页浏览、显示歌词、未经过滤的图书 不要恶搞知名的公众人物,不管是死是活 不要包含能够执行下载文件的脚本解释器、插件或其它运行时(runtime) 不要使用连续震动 在每个输入区域使用相关的键盘(比如在输入手机号的地方要调出数字键盘) 在表格视图下,如果选中多行会调出另一个视图的话,那么应该取消选中当前视图中的行 仅在连接WiFi的情况下才能播放视频或下载其它大型文件 如需发送私人数据到

9、服务器,需要告知用户,并提供取消选项 不要偷偷使用摄像头或话筒 使用GPS功能是为了给用户带来切实的好处,而不是仅仅是广告或跟踪 绝不要崩溃遵守苹果的用户界面指南(Human Interface Guidelines) 应用看上去设计精美、品质上乘 本地按钮图标与其本地动作保持一致 活动指示图标不能转个没完没了 触碰之后可以激活按钮 屏幕布局可以处理好高度加倍的状态栏(比如通话期间) 停止应用时应保存状态,下次启动时可以恢复 如果支持横屏模式,横屏设计也要很美iPad特别注意事项: 你的应用应该从各个方向都能使用,如果仅支持横屏和竖屏,那么上下两个方向都要支持 弹出窗口里面不应该包含其它弹出窗

10、口,也就是选择弹出窗口里面的东西不会激活另一个弹出窗口Y 一次不能弹出两个及以上窗口提交应用程序文件时的细节: 程序文件名字和iTunes应用商店里面显示的名字要一致,或者是缩写 iTunes中的描述要准确描述应用的功能,说到做到 iTunes描述不包括价格信息 iTunes描述中不能包括Android、黑莓等苹果竞争对手的名字 iTunes描述不能提及尚未发布的iOS版本 iTunes关键词要和应用功能相匹配 iTunes关键词不能包含其他应用的名称 如果你的应用售价超过100美元或者应用内购买金额超过100美元,那么应该标记为17+ 应用截屏不能包含错误状态,包括iAd的错误 应用分类与其

11、功能相符 应用中的彩蛋无伤大雅,需要在演示账户中透露 提供各种尺寸的图标:57,72 (iPad),114,512 不同尺寸的图标都包含同样的内容 版本号大于等于1.0 info.plist文件中所需要的设备功能和应用的实际需求相符 应用使用情况和操作系统版本兼容性相符 NSZombieEnabled设为NO 如使用推送通知,需要在entitlements.plist中添加用于“aps-environment”授权信息 若使用推送通知,你的应用ID必须已经激活推送通知功能 在更新iTunes的“新功能”介绍时,内容要和应用实际变化相符 更新应用时,要做到名副其实,并且更新能够被用户发现 更新后

12、的应用版本号要大于上个版本杂项: 应用要有足够大的市场,比如不能直供小部分人私下里使用 应用里不能存在已经作废的和未来版本发布有关的按钮和功能 简化(Lite)版应用必须能用;也就是说也要做到名副其实 简化(Lite)版应用不能有时间限制 简化(Lite)版应用不得显示完整版应用的价格 作为应用的一部分,应用加载的网页必须是线上的,并且可用 任何相关的email地址都必须存在并且可用 所有应用升级和其他交易都必须通过苹果应用商店完成 应用不能是一个简单的浏览器窗口中的的网站 应用必须满足任何相关的管制规定,比如涉及医疗的应用 若使用加密,必须已经通过BIS注册,并能提供文档 如果你的应用需要登录,需要提供测试账户 如果应用使用M

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论