美文网首页
iOS开发规范

iOS开发规范

作者: a6750108cb56 | 来源:发表于2017-11-01 19:02 被阅读27次

    工程规范

      * .DS_Store
      * *.xcodeproj/*
      * !*.xcodeproj/project.pbxproj
      * project.xcworkspace
      * xcuserdata
      * xcshareddata
      * build
      * ._*
    
    • 分支管理
      • 保持master作为release分支,创建一个dev分支做日常开发,需要发布版本时在master上 merge dev分支并release
      • 服务器上tag一般用于标识重要更新于发布,tag只出现在master上,dev应该不存在tag
    • 编码规范参照Google的Objective-C编码规范
    • 重定义NSLog,在发布版本(Release)时对NSLog屏蔽
    * #ifdef RELEASE
    * #define NSLog(...) 
    * #else
    * #define NSLog(...) NSLog(__VA_ARGS__)
    * #endif
    

    工程结构规范

    • 环境部署方案
      • 使用不同环境plist文件根据Scheme的Build configuration动态更改环境的主机地址,第三方平台key值等配置(示例demo)
    • 添加项目Prefix Header文件
      • 在Header文件中导入全局头文常用工具类等
    • 宏定义工具类
      • 使用BASE_URL 作为不同环境主机地址的切换#define BASE_URL @"http://192.68.1.249:8080"
      • 完整接口名以HTTP开头,拼接路径地址,例如#define HTTP_USER_LOGIN [BASE_URL stringByAppendingString:@"/user/login"]
    • 颜色定义
      • 以COLOR开头,拼接主要用途,以具体颜色结尾#define COLOR_TEXTFIELD_GRAY HEXCOLOR(0x999999)
    • 物理文件应该与Xcode工程文件保持同步避免文件扩张
    • 使用images.xcassets管理图片,@1x,@2x,@3

    通用模块

    • HTTP请求模块(AFNetworking)
      • 可添加全局请求头,或cookie等身份验证逻辑
      • 配合后台返回状态参数做成功处理与错误处理
    • JSON转模型模块
      • 网络请求JSON数据通过AFNetworking与MJExtension框架转成数据模型
    • 错误检验与网络进度模块
      • 网络进度条使用MBProgressHUD
      • 本地检验方案:
        • 使用UWToast工具类或Alerview提示(Toast)
        • 监听符合条件时按钮才能触发网络请求
      • Tabbar模块(UITabBar+UINavigation框架搭建)
      • Drawer模块(MMDrawerController+UINavigation框架搭建)(MMDrawer)
      • BaseWebView模块
      • BaseViewController模块
      • 下拉刷新与上拉加载更多的分页处理方案
      • 检查更新逻辑模块
      • 图片选择与上传模块(选择图片)
      • 第三方集成:
        • 集成即时通讯方案(环信、融云、阿里百川)
        • 集成分享模块
        • 集成统计模块
        • 集成推送模块
        • 集成支付模块
        • 集成地图模块

    常用工具部分

    • button
      • 圆角裁剪样式
      • 倒计时处理
    • textfield
      • 正常与高亮样式的设置
      • 键盘处理
    • 自定义iamge/imageview
      • 头像裁剪与点击
    • 字符串处理(各种category)
      • 手机号、邮箱、身份证的正则判断
      • 空格、回车、emoji表情的处理
      • 加密处理
    • 日期转换处理
      • 时间戳与日期转换
      • 当前时间与状态时间比较
      • 日期与年龄、星座转换
    • popview弹出视图控制器
    • 图片浏览工具,包括保存、缩放
    • 地区选择工具,包括数据库读取工具类(FMDB)
    • 图片轮播工具(SDCycleScrollView)
    • 用户信息保存与获取工具(arc版本)(非arc版本)

    上线前的CheckList

    • Bundle identifier,version,build,证书是否正确
    • 环境地址是否为线上地址,检查是否有地方没有使用BASE_URL,特别注意分享的环境地质是否正确
    • 使用的第三方key值(百度统计,ShareSDK,极光推送,百度地图,融云等)是否切换到生产环境
    • 需要读取沙盒文件的地方,检查数据与上个版本是否兼容

    AppStore审核注意点

    • 官方文档
    • 一些审核细节:
      • 审核用的是美国的网络
      • iPhone app苹果审核人员也会在iPad上测试
      • 测试所用的系统是当前最新系统,但机型未必是当前最新机型
    • 一些常见问题总结:
      • 应用分级需注意:是否有无限制的网页浏览(17+),黄赌毒酒等不良信息不要在审核时出现,甚至一些不雅词汇也不要出现
      • 在简介里如果涉及到苹果的商标或者词汇,一定一个字母都不能错,包括每个字母的大小写
      • 应用中不要出现“测试”、“beta”、“demo”、“version 0.9”等字样
      • 有列表的页面内容尽量填充数据
      • 事件无法响应的按钮:隐藏或者设置成不可用状态,(注意第三方登录只能隐藏)
      • 由网络下载的数据必须存在沙盒的cache或者tmp目录
      • 每个输入框弹出响应的键盘
      • 不能出现Android等第三方操作系统的图标或者名字,注意一些共用的如滚动的广告图片
      • 检查更新不能出现,登入自检的时候也需注意
      • 有抽奖活动的,需要申明此活动跟苹果公司无关

    相关文章

      网友评论

          本文标题:iOS开发规范

          本文链接:https://www.haomeiwen.com/subject/iybgpxtx.html