iOS 项目的搭建到分发

本文主要介绍每当开启一个新项目的第一步:从项目的搭建到给团队分发模块开始开发的过程。现在虚拟一个即将要开始的项目叫:NewStart(新起点),通过这个项目你能看到整个项目的目录结构。

主要的框架设计如下 :

建议先下载已经完成的代码,其实可以直接看代码的,可以不用看这篇文章,这里说的不全,其中也有很多的废话,我的表述也有些问题。毕竟一行代码胜过千言万语。下载代码下来之后,在运行之前记得 pod install 一下。由于代码有更新,所以本文介绍主要是在git的第二个节点做介绍的:项目第一次提交,主要完成了项目的搭建到分发。

接下来、将会按照步骤依次做介绍。

一、git准备

刚开始工作那会一直使用svn来做代码管理,自17年初开始使用git、这次使用 github 来做介绍。一般情况公司都会有自己的 git 服务器。具体的步骤:

1、首先需要有一个项目组 (group),一般是以公司为单位。比如 XXXX 公司的项目,都应该在一个组中。即使这个公司只有一个项目,也应该是单独的一个组。

2、在指定的项目组中创建一个项目,一个空的没有任何分支的 git 项目已经完成。

3、通过第2步创建的 git 项目,可以直接在网页把 README.md 文件也创建了。

4、将项目 clone 到本地,然后添加一个忽略文件 (.gitignore)

以上是在工作中的 git 的常规步骤,现在使用 github 的流程走一遍,流程是一致的,唯一的区别是一个 group ,一个叫 team,其实都是一样的。

在自己的账号中创建一个 team:

这是 team 创建成功的样子。

开始创建项目 :

这是项目创建成功的样子:

现在为止,一个 git 远程仓库就准备好了,我们直接 clone 到本地,最终是这样子的:

到现在为止,一个 git 的全部准备工作就全部完成了。其实这个过程是很简单的,可以说不需要时间就能完成。

二、创建项目

在Xcode中创建完项目后是这样子的:

首当其冲的将项目的系统最低支持版本也改一下:

到现在为止,一个简单的项目就算是结束了,现在就可以提交远程给同事们开始开发了么?那肯定是不可以的,还差得很远,现在只是有一个项目,还需要将一个简单的框架搭建好才能给出去,否则其他同事是会很乱的。至少还需要把一下3点

完成 :

1、项目的整体结构以及常用的基类

2、 第三方

3、  网络框架

这三点可以不是最终版本,但是一定要有,毕竟团队合作开发肯定得有一个方向,否则不同的人肯定会弄出自己的一套,这样是不行的。下面根据以上3点分别做介绍。

1、项目的整体结构以及常用的基类

目录小改动

添加 SupportingFiles 目录

在新版本的 Xcode 中没有 SupportingFiles 了,但是习惯了这个文件,我们可以自己搞一个。主要是习惯了将 Assets.xcassets, Info.plist 与  main.m 这三个文件放到这个目录下。

这里需要注意的是,要在文件中将 project.pbxproj 文件中的 INFOPLIST_FILE 的值改一下,因为改了 Info.plist 文件的路径。

添加 AppDelegate 目录

将 AppDelegate 的两个 .h 与 .m文件单独放到这个文件夹中。

现在的样子是这样的:

在 Xcode 中,目录合起来是这个样子的:

这样看起来还是比较简单明了清楚的,我感觉,其实到现在为止,只是做了一个小小的调整而已,还没有真正的搭建项目的结构。

添加  General 目录

这个目录是一个核心的目录,所有的代码都将会在这里。这个目录中也有这些的目录:Libs(用到的非 pod 管理的第三方库),Category (分类),Modules (项目的所有模块),Macro(基本的配置,比如网络,基类)。如:

其实在上面的目录中的 Libs 与 Category 是可以允许为空文件的,具体可以在开发的过程中用到了再添加。但是Modules与Macro 尽量一次性弄好。

Macro目录完善

在这个目录中,一般存放的是固定的,以后即使要改的话,改动也不会太大的东西,或者即使要改也是全局性修改的那种。最终结果如下:

其实,穿过图片就能知道这里面写的都是一些再基础不过的基本配置。换句话来说,几乎所有的项目都能通用,即使改动也不会太大。

Modules目录完善

  这个目录中,就是项目的核心需求了。具体要怎么去搭建目录,那就要看项目的实际结构了。

比如这样的:

2、 第三方

通常都会使用 CocoaPods 来管理第三方代码。

是这样的 :

或者是直接将别人的代码直接拖入项目中,是这样的:

3、 网络框架

网络框架,为什么一定要先提前弄好?

反正在我刚开始敲代码那会儿,我们的新项目是没有的,然后团队中的每个人各领风骚,本来一个项目的网络请求都应该是一个套路的,否则最后会很乱的。

同事们在使用的时候,直接在这里来添加自己的接口即可:

通过自己的模块/功能自行创建分类,这样项目不会至于会乱。

到现在为止,一个简单的项目搭建就算完成了,可以直接将自己本地的代码提交到远程,告知团队开始进行开发了。记得创建一个 develop 分支。

直接在这里下载 代码代码代码,下载代码下来之后,在运行之前记得 pod install 一下。由于代码有更新,所以本文介绍主要是在git的第二个节点做介绍的:项目第一次提交,主要完成了项目的搭建到分发.

原文地址:https://www.cnblogs.com/LiZeYuBlog/p/8275892.html

时间: 2024-11-09 02:14:10

iOS 项目的搭建到分发的相关文章

iOS项目工作空间搭建

一般公司的项目都是一个工作空间包包含两个项目,一个主项目,一个Pods项目,当然也有些就是一个项目,然后把第三方放在项目的文件夹里. 这样做的好处是,项目再次拷贝到其他地方报错的可能性小,而且拷完就能正常启动项目.坏处就是更新第三方手动, 当然其实有些东西不用那么更新,不是像前段时间 的AFN漏洞的话,也没必要更新.不过还是主流搭建工作空间包含主项目Pods项目吧,小弟新手,今天就发发图做做这个事. 第一步,新建一个项目. 第二步,在有.xcodeproj这个文件的同级文件夹下面,建立个Podf

利用 Jenkins 持续集成 iOS 项目,搭建自动化打包环境

---恢复内容开始--- jenkins是一个广泛用于持续构建的可视化web工具,持续构建即各种项目的"自动化"编译.打包.分发部署.jenkins可以很好的支持各种语言(比如:Java, c#, PHP等)的项目构建,也完全兼容ant.maven.gradle等多种第三方构建工具,同时跟svn.Git能无缝集成,也支持直接与知名源代码托管网站,比如github.bitbucket直接集成. 一.安装 Jenkins: 两种方式: 1) 终端命令输入:brew install jenk

iOS项目——项目开发环境搭建汇总

iOS项目--项目开发环境搭建 在开发项目之前,我们需要做一些准备工作,了解iOS扩展--Objective-C开发编程规范是进行开发的必备基础,学习iOS学习--Xcode9上传项目到GitHub是我们进行版本控制和代码管理的选择之一,明白iOS学习--iOS项目Project 和 Targets配置详解则更利于我们今天对完整项目开发环境的搭建,这些内容在在之前的博文中都已经有了一些总结和步骤说明,具体详情可以戳链接查看. 开发一个完整的App,不同于我们平时学习和练习时随意新建一个proje

iOS项目——微信H5棋牌牛牛斗牛出租平台项目开发环境搭建教程

在开发项目之前,我们需要做一些准备工作,了解iOS扩展--微信H5棋牌牛牛斗牛出租平台(h5.fanshubbs.com联系Q_1687054422),学习iOS学习--Xcode9上传项目到GitHub是我们进行版本控制和代码管理的选择之一,明白iOS学习--iOS项目Project 和 Targets配置详解则更利于我们今天对完整项目开发环境的搭建,这些内容在在之前的博文中都已经有了一些总结和步骤说明,具体详情可以戳链接查看. 开发一个完整的App,不同于我们平时学习和练习时随意新建一个pr

iOS项目开发之Socket编程

有一段时间没有认真总结和写博客了 前段时间找工作.进入工作阶段.比较少静下来认真总结,现在静下心来总结一下最近的一些心得 前言 AsyncSocket介绍 AsyncSocket详解 AsyncSocket示例 一.前言 公司的项目用到了Socket编程,之前在学习的过程当中,用到的更多的还是http请求的方式.但是既然用到了就必须学习一下,所以就在网上找一些例子,然后想自己写一个demo.可是发现很多写iOS Socket的博客并没有很详细的说明,也可能是大神们觉得其他东西都浅显易懂. 自己专

开源 iOS 项目分类索引大全

GitHub 上大概600个开源 iOS 项目的分类和介绍,对于你挑选和使用开源项目应该有帮助 系统基础库 Category/Util sstoolkit 一套Category类型的库,附带很多自定义控件 功能不错- BlocksKit 将Block风格带入UIKit和Founcation cocoa-helpers 一些Cocoa的扩展 2年前的工程 CoconutKit 一系列扩展和一些自定组件 STUtils 一系列扩展包 PSFoundation 一系列扩展 和功能增强 ConciseK

iOS 项目目录结构

iOS 项目的目录结构能看出你的开发经验 最近有师弟面试iOS开发,他很吃惊地跟我说,面试官竟然问他怎么分目录结构的,还具体问每个子目录的文件名. 目录结构确实非常重要,面试官这么问他,无疑是想窥探他的开发经验.清晰的目录结构,可让人一眼明白相应的业务和职能,这也能体现开发者的经验和架构水平. 目前,我接触过的项目中,比较常规的两种结构:1.主目录按照业务分类,内目录按照模块分类(主目录按照MVC架构分类,内部根据项目模块分类) 优点:相对比较快定位对应的业务.缺点:模块相关类太过分散,需要来回

iOS项目目录结构和开发流程

来源:http://mobile.51cto.com/hot-431205.htm 网上关于iOS项目的资源不多,开源的且质量还不错的iOS项目也是少之又少,最近正好跟同事合作了一个iOS项目,来说说自己的一些想法.一个合理的目录结构首先应该是清晰的,让人一眼看上去就能大概了解目录的职责,且容易应对新的变化. AD:WOT2014课程推荐:实战MSA:用开源软件搭建微服务系统 网上关于iOS项目的资源不多,开源的且质量还不错的iOS项目也是少之又少,最近正好跟同事合作了一个iOS项目,来说说自己

ios项目里扒出来的json文件

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Menlo; color: #000000 } p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Menlo; color: #d12f1b } p.p3 { margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px "PingFang SC"; color: #d12f1b } p.p4 {