ios开发

iOS项目管理:目录结构和开发流程

泪湿孤枕 提交于 2020-02-28 09:08:49
iOS项目管理:目录结构和开发流程 最近正在做一个大版本的更新,现在在重构中。。。。 发现很多人在一个项目的开始不知道开发流程是什么,也不是非常清晰的知道一个项目该有目录结构。如果项目小或者是在做第一版的时候都还能应付的来,但一次比一次更新的更困难。原因就是在你项目的刚开始一个合理的目录结构,没有一个系统管理。时间久了类多了,就一头雾水。 目录结构 AppDelegate Models Macro General Helpers Utils Sections Resources 一个合理的目录结构首先应该是清晰的,让人一眼看上去就能大概了解目录的职责,且容易应对新的变化。 AppDelegate 这个目录下放的是AppDelegate.h(.m)文件,是整个应用的入口文件,所以单独拿出来。 Models 这个目录下放一些与数据相关的Model文件,里面大概是这样: Models |- BaseModel.h |- BaseModel.m |- CollectionModel.h |- CollectionModel.m ... Macro 这个目录下放了整个应用会用到的宏定义,里面大概是这样: Macro |- AppMacro.h |- NotificationMacro.h |- VendorMacro.h |- UtilsMacro.h ... AppMacro.h

iOS开发网络篇—数据安全

六眼飞鱼酱① 提交于 2020-02-28 08:44:58
iOS开发网络篇—数据安全 一、简单说明 1.说明 在开发应用的时候,数据的安全性至关重要,而仅仅用POST请求提交用户的隐私数据,还是不能完全解决安全问题。 如:可以利用软件(比如Charles)设置代理服务器,拦截查看手机的请求数据 “青花瓷”软件 因此:提交用户的隐私数据时,一定不要明文提交,要加密处理后再提交 2.常见的加密算法 MD5 \ SHA \ DES \ 3DES \ RC2和RC4 \ RSA \ IDEA \ DSA \ AES 3.加密算法的选择 一般公司都会有一套自己的加密方案,按照公司接口文档的规定去加密 二、MD5 1.简单说明 MD5:全称是Message Digest Algorithm 5,译为“消息摘要算法第5版” 效果:对输入信息生成唯一的128位散列值(32个字符) 2.MD5的特点 (1)输入两个不同的明文不会得到相同的输出值 (2)根据输出值,不能得到原始的明文,即 其过程不可逆 3.MD5的应用 由于MD5加密算法具有较好的安全性,而且免费,因此该加密算法被广泛使用 主要运用在数字签名、文件完整性验证以及口令加密等方面 4.MD5破解 MD5解密网站: http://www.cmd5.com 5.MD5改进 现在的MD5已不再是绝对安全,对此,可以对MD5稍作改进,以增加解密的难度 加盐(Salt):在明文的固定位置插入随机串

IOS开发--仿制网易新闻

走远了吗. 提交于 2020-02-27 04:58:48
学习来源:袁峥老师的《 快速集成App中顶部标题滚动条 》 此次博文写的是按需求分析写代码,思路条理性杠杠的,可以提高的编码实现速度哦。 效果: 根据这个网易新闻的界面,需求分析: 需要的对象: 1、导航控制器默认会生成的导航条,上面可以设置title(当然也可以另外自定义View设置导航条title) 2、切换页面的标题滚动区是一个ScrollView,在这个ScrollView上面添加六个UIButton,按顺序UIButton的文字是“头条、热点、视频、社会、订阅、科技”六个标题 3、切换内容的内容滚动区是一个ScrollView,在这个ScrollView上面分别和标题滚动区的标题按钮对应顺序添加关于“头条、热点、视频、社会、订阅、科技”六个View 4、关于“头条、热点、视频、社会、订阅、科技”六个View,来自六个自定义ViewController。 需要处理的逻辑: 5、拖拽内容滚动区,相邻两个页面却换有换页效果,一页View自动占据当前一个页面。 6、选中标题滚动区的某个标题按钮,选中的按钮会自动切换到中间位置,但是两端的标题按钮会由于滚动区域的缘故不会居中。 7、选中标题滚动区的某个标题按钮,内容滚动区会切换到对应的View,呈现对应的View内容 8、点击标题滚动区的某一个标题按钮,会切换状态,选中的标题原本是黑色大小中等的字体切换成红色偏大的字体

iOS开发那些事-平铺导航-基于Page的导航及案例实现

假装没事ソ 提交于 2020-02-27 04:57:56
基于分页导航实现 在iOS 5之后,可以使用分页控制器(UIPageViewController)构建类似于电子书效果的应用,我们称为基于分页的应用。一个分页应用有很多相关的视图控制器 分页控制器(PageViewController)需要放置在一个父视图控制器中,在分页控制器下面还要有子视图控制器,每个子视图控制器对应图中的一个页面。 在基于分页导航实现的应用中需要的类和协议:UIPageViewControllerDataSource协议和 UIPageViewControllerDelegate协议和UIPageViewController 类,UIPageViewController没有对应的视图类。 UIPageViewControllerDelegate委托协议中,最重要的方法为 pageViewController:spineLocationForInterfaceOrientation:,它根据屏幕旋转方向设置书脊位置 (Spine Location)和初始化首页。 UIPageViewController中有两个常用的属性:双面显示(doubleSided)和书脊位置(spineLocation)。 1.双面显示,是在页面翻起的时候,偶数页面会在背面显示。图6-13右图为doubleSided设置为YES情况,图为 doubleSided设置为NO(单面显示)

iOS开发证书要点详解

﹥>﹥吖頭↗ 提交于 2020-02-27 04:04:47
引言 关于开发证书配置(Certificates&Identifiers&Provisioning Profiles),相信做iOS开发的同学没少被折腾。 对于一个iOS开发小白、半吊子(比如像我自己)抑或老兵,或多或少会有以下不详、疑问、疑惑甚至困惑: 什么是App ID?Explicit/Wildcard App ID有何区别? 什么是App Group ID? 什么是证书(Certificate)?如何申请?有啥用? 什么是Key Pair(公钥/私钥)?有啥用?与证书有何关联? 什么是签名(Signature)?如何签名(CodeSign)?怎样校验(Verify)? 什么是(Team)Provisioning Profiles?有啥用? Xcode如何配置才能使用iOS真机进行开发调试? 多台机器如何共享开发者账号或证书? 遇到证书配置问题怎么办? 本文将对相关概念做个系统的梳理串烧。 写在前面 1.假设你使用过 Apple设备(iMac/iPad/iPhone)且注册过Apple ID(Apple Account)。 2.假设你或你所在的开发组已 加入苹果开发者计划(Enroll in iOS Developer Program to become a member),即已注册开发者账号(Apple Developer Account)。 只有拥有开发者账号,才可以

iOS开发简单介绍

廉价感情. 提交于 2020-02-27 03:56:27
概览     终于到了真正接触IOS应用程序的时刻了,之前我们花了很多时间去讨论C语言、ObjC等知识,对于很多朋友而言开发IOS第一天就想直接看到成果,看到可以运行的iOS程序。但是这里我想强调一下,前面的知识是你日后开发iOS的基础,没有那些知识你开发iOS会很痛苦,现在很多开发人员做开发都是一知半解,程序质量确实令人担忧,所以还是希望大家能够熟练掌握前面的内容,开发过程中多思考,彻底理解程序运行的原理、机制。好了言归正传,不管怎么样正式进入iOS开发还是令人兴奋的,今天的内容虽然说是开发预览,其实还是有大量内容要说的: 1.第一个iOS程序 2.程序的运行过程 3.文件结构 4.Storyboard 5.纯代码实现iOS开发 6.补充知识点 第一个iOS程序 首先打开Xcode—Create a new Xcode project—Single View Application--输入项目名称,同时选择使用Objective-C语言,设备选择iPhone--接下来系统默认生成一个IOS项目模板。项目目录结构如下: 此时什么也不用做,直接运行看一下(注意这里已经切换模拟器为iPhone5),没错我们看到了一个iOS应用程序: 程序的运行过程 在几乎所有的程序开发中程序一般都是从main函数开始运行的,那么IOS程序也不例外,在上图中我们可以看到Xcode为我们生成了一个main

IOS开发系列--IOS程序开发概览

a 夏天 提交于 2020-02-27 03:56:11
转载自:http://www.cnblogs.com/kenshincui/p/3890880.html 概览 终于到了真正接触IOS应用程序的时刻了,之前我们花了很多时间去讨论C语言、ObjC等知识,对于很多朋友而言开发IOS第一天就想直接看到成果,看到可以运行的IOS程序。但是这里我想强调一下,前面的知识是你日后开发IOS的基础,没有那些知识你开发IOS会很痛苦,现在很多开发人员做开发都是一知半解,程序质量确实令人担忧,所以还是希望大家能够熟练掌握前面的内容,开发过程中多思考,彻底理解程序运行的原理、机制。好了言归正传,不管怎么样正式进入IOS开发还是令人兴奋的,今天的内容虽然说是开发预览,其实还是有大量内容要说的: 第一个iOS程序 iOS程序运行过程 文件结构 Storyboard 纯代码实现iOS开发 补充知识点 第一个iOS程序 首先打开Xcode—Create a new Xcode project—Single View Application--输入项目名称,同时选择使用Objective-C语言,设备选择iPhone--接下来系统默认生成一个IOS项目模板。项目目录结构如下: 此时什么也不用做,直接运行看一下(注意这里已经切换模拟器为iPhone5),没错我们看到了一个iOS应用程序: 程序的运行过程 在几乎所有的程序开发中程序一般都是从main函数开始运行的

IOS开发之表视图(UITableView)

狂风中的少年 提交于 2020-02-27 03:51:37
IOS开发之表视图(UITableView)的基本介绍(一) (一):UITableView的基本概念 1.在IOS开发中,表视图的应用十分广泛和普及。因此掌握表视图的用法显得非常重要。一般情况下对于数据的展示 我们都会选择表视图,比如通讯录和一些数据列表。 2.我们可以选择创建表视图也可以创建表视图控制器。 (二)UITableView基本样式如下(1:UITableViewStylePlain(普通表视图),2:UITableViewStyleGroup(分组表视图)): (三)UITableView表视图的结构:首先我们来看一张设计图: 根据上面的图,下面我们来分析一下表视图的结构: 1:表头视图(table header view).表视图最上边的视图,用于展示表视图的信息,例如上面下拉刷新信息。 2:表脚视图(table footer view).表视图最下边的视图,用于展示表视图的部分信息,例如上图加载更多信息。 3:单元格(cell)。它是组成表视图每一行的单位视图,上图一行一行的单元图 4:节(selection)。它是多个单元格在组成,并且有节头和节脚,正如上图蓝色框框的(Group Start)节头,(Group End)节尾 5:节头。节的头部,描述节的信息,例如上图 Group Start. 6:节脚.节的尾部,描述节的信息或者一些声明信息。例如上图

给iOS开发新手送点福利,简述UIAlertView的属性和用法

拥有回忆 提交于 2020-02-27 03:48:50
转载自: http://www.cnblogs.com/xmqios/p/3477461.html UIAlertView 1.Title 获取或设置UIAlertView上的标题。 2.Message 获取或设置UIAlertView上的消息 UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Title" message:@"message" delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"确定", nil]; alertView.title = @"T"; alertView.message = @"M"; [alertView show]; 3.numberOfButtons (只读) 返回UIAlertView上有多少按钮. UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Title" message:@"message" delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"确定", nil]; NSLog(@"%d",alertView.numberOfButtons); [alertView

三十而立,从零开始学ios开发(七):Delegate,Action Sheet, Alert

时间秒杀一切 提交于 2020-02-27 03:48:11
Action Sheet和Alert是2种特殊的控件(暂且称之为控件吧,其实不是控件真正的控件,而是ios中的2个类,这2个类定义了2种不同类型的用于和用户交互的弹出框),Action Sheet是从底部弹出,上面有2个或者2个以上的选项供用户选择,Alert就是一个警告框,上面有1个或者1个以上的按钮供用户进行选择。 在继续这一篇的内容之前,稍微花点时间说一下ios中用到的Delegate Pattern(委托\代理模式)。 ios中有很多已经定义好的类可以供我们在编写程序时直接使用,例如UIActionSheet、UIAlertView等,这些类定义了很多method,我们可以调用这些method且不必知道这些method是如何实现的。但是有一个问题,如果我们想改变这些method的实现,那我们该这么做呢?一种方法是继承,我们可以继承一个类,然后在自己的类中重新写method,这是一个方法,但不是一个很方便的方法,有时候你仅仅需要改变很小的一个功能,却要继承一个很大的类,貌似有点复杂了,而且如果你需要一些不同的实现,那你就需要定义好多不同的类,这会很麻烦。为了使开发过程更加的方便,ios使用了另一种方法来达到同样的目的,就是使用delegate,我们使用一个已定义的类,然后使用委托\代理来改写类中的method,程序在运行时