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

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

  开发一个完整的App,不同于我们平时学习和练习时随意新建一个project,然后写我们示例代码就完了。要开发一个完整的App。有一定的开发流程,而且一般而言,在开发过程我们都是多人合作,每个人负责一部分功能模块的开发,最后进行合并、调试、测试、上线等流程。那么在项目开发的最初,我们需要对我们的App的开发环境进行搭建,在一个App开发之初,环境搭建主要包括如下几个部分。

1 修改App安装后显示的应用名
  在我们最初创建项目的时候微信H5棋牌牛牛斗牛出租平台(h5.fanshubbs.com联系Q_1687054422),App的名称和我们的项目名默认是一样的,一般而言,我们的项目中命名是不用中文的,所以基本上App应用名和我们的项目名称是有区别的,因此,在项目刚开始的时候,App的名称是需要修改确定好的。目前有三个地方可以直接修改App显示名,这三个地方修改器中一个,另外两个会自动修改过来,具体操作如下图所示。

2 设置类名的前缀
  在项目开发过程中,我们一般需要对项目中所有的类加上一个前缀以区分是我们自己创建还是第三方或者系统自带的类,这个前缀是自定义的,一般设定为公司名的英文缩写或首字母,个人开发的可以随心设置,设置界面如下图所示。

  这里除了设定我们的类名前缀之外,还额外标注了另外两项的设定方法:

一种是右下角的文本设定选项,在iOS扩展——Objective-C开发编程规范中我们提到过,iOS开发推荐使用空格进行缩进和分割,而不推荐使用tab进行缩进,这里就是设定tab键所代表的意义,缩进4个空格。Indent表示下一行缩进的量也是4个空格。
另一种是Organization(组织)的设定,这个设定的效果是表明软件的版权所属,在我们项目中的每个类都有一个类说明注释,如下图所示,这里的组织的设定就表明了程序的Copyright版权所属。一般而言,这里是设定为公司名称,可以是中文,当然也可以自定义,这个默认是自己的电脑的name。

3 调整App方向
  一般而言,我们的应用软件的方向都是竖屏正向的(游戏除外,一般的游戏都是横屏的) ,所以我们在进行项目开发之前可以先把设备类型、屏幕的方向等确定下来,这也方便我们进行应用图标和启动图片的剪切和设置,屏幕方向的设置界面如下图所示。

  这一部分的内容有一些在iOS学习——iOS项目Project 和 Targets配置详解中有讲到,主要是通过设置target的部署属性来设定该App安装到手机上一些状态。通过上图我们可以看到:

设备方向有四个方向可选,一般而言,我们选择竖屏就可以了,特殊功能App除外。
我们还可以设置我们的设备类型是iPhone还是iPad还是两者都兼顾Universal。
状态栏的风格style,有两种风格可选,自己根据情况选择。当然,是否需要隐藏状态栏,我们也可以在开发过程根据需要通过代码的方式进行设置。
可以根据需要设置是否隐藏状态栏,是否需要全屏等设置。
  例如,在开发类似王者荣耀的游戏时这里的几个选项应该是设备类型选择Universal,设备方向是左横屏 + 右横屏,勾选隐藏状态栏,同事也勾选需要全屏。

4 设置应用图标和启动图片
  如何设置y8ingyong图标和启动图片我们在iOS学习——iOS项目Project 和 Targets配置详解中已经详细进行讲过了。设置界面如下图所示,这一块主要设置应用图标和启动界面,其中启动界面有两种设置方法:通过设置启动图片或者通过设置启动界面文件来启动,启动图标和启动界面对不同的机型的设备所需要的尺寸是不同的,具体应用图标和启动页面的大小尺寸介绍见官网:Human Interface Guidelines。

  App icon Source(应用图标):对应着文件资源Assets.xcassets目录中的AppIcon中的图标,如下图所示。最右边的面板可以选择添加哪一种或哪几种设备上的图标,每一个型号的设备上的图标的尺寸是不同的,具体需要多大尺寸的图标可参见Human Interface Guidelines。在中间有一个个的小格子,我们将所有切好的图标直接拖过来,他们会自动找到自己应该放在的格子里。这些小格子主要分为四类:

Notification:通知时的图标,类似有应用相关的推送消息时,有时候需要显示本应用的图标则会显示这个尺寸的
Spotlight:搜索小图标,当在Spotlight中输入应用名,搜索结果中出现该应用时的图标就是这个尺寸的,还有设置里的图标也是这个尺寸的。
App:这就是正常的App图标,安装好之后在桌面显示的,或者分享推荐时显示的应用也是这个尺寸的图标
App store:应用商店中的显示的图标
  Luanch Image Source(启动图片)和Luanch Screen File(启动页面文件)都是用来设置我们的启动界面的。首先大家可能会很奇怪,为什么每个App启动时都会出现一些启动图片或广告或动图,很烦人对不对?但是启动图片是必须的,原因有两点。

一来通过启动图片设定了我们App应用在本次启动时以多大的界面进行展示信息,如果不设置启动界面,我们的App在打开后后会出现黑屏的显影导致应用无法正常使用。如果启动图片是iPhone6的屏幕大小的图片,则在iPhone X上只显示iPhone6的屏幕大小区域,上下会有两条黑边。因此,我们再设定启动界面的时候一般是需要适配各种屏幕大小尺寸的启动图片。如下图所示的界面可以看到设置Luanch Image Source(启动图片)是有多种尺寸的。
二来则是在我们点击应用图标启动应用时,应用启动需要一定的操作时间,在启动期间,为了增强应用程序启动时的用户体验,您应该提供一个启动图像。启动图像与应用程序的首屏幕看起来非常相似。当用户在主屏幕上点击您的应用程序图标时,iPhone OS会立即显示这个启动图像。一旦准备就绪,您的应用程序就会显示它的首屏幕,来替换掉这个启动占位图像。一定要强调的是,之所以提供启动图像,是为了改善用户体验,并不是为了提供:应用程序进入体验」,比如启动动画。
  刚刚我们说过了,Luanch Image Source(启动图片)和Luanch Screen File(启动页面文件)都是用来设置我们的启动界面的,那么他们之间有什么区别呢?

Luanch Image Source(启动图片):同样对应着文件资源Assets.xcassets目录中的LuanchImage中的图片,设定了各种情况下的启动图片,具体界面如上图所示,和Appicon一样,我们将所有切好的图标直接拖过来,他们会自动找到自己应该放在的格子里,同样可以选择设备以及不同方向的启动图。
Luanch Screen File(启动页面文件):是通过一个LuanchScreen.storyboard文件来作为启动界面。
  两种方法之间主要的区别在于启动文件的优先级高于启动图片,也就是说如果两个都设置了,那么启动页面以启动文件为准,如果都没有设置,则应用会黑屏。

  在一般的项目开发中,我们一般都只使用启动图片设置启动界面(现在由于storyboard应用得比较多了,也有很多采用设置启动文件的方式来设置启动界面的,大家根据自己的需求和习惯进行设置都可以的),由于启动文件的优先级高于启动图片,所以我们需要将启动文件后的文件名删去,此外我们还需要将项目中的LuanchScreen.storyboard文件也给删去,这是因为App在启动时系统会自动查找LuanchScreen.storyboard的文件进行加载,所以我们需要进行这两步,具体如下图所示。

5 设置主界面(废弃storyboard)
  现在新建一个project时,xcode会默认主界面是通过main.storyboard设置App的主界面的,而设置主界面的方法除了这个还有另外一个方法就是通过代码的方式进行设置。那么系统是怎么判断我们是如何设置主界面的呢?这个问题就涉及到一部分启动流程的问题。

  我们都知道,项目运行的起点是main函数,在我们的iOS项目中也不例外,我们可以看到,项目中有一个main.m主函数,这里面只有一个方法就是我们的main方法,代码如下,很简单。

复制代码
#import <UIKit/UIKit.h>
#import "AppDelegate.h"

int main(int argc, char * argv[]) {
@autoreleasepool {
return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
}
}
复制代码
  这个主函数的作用主要是有以下四点,最后一点则告诉我们系统是如何选择我们设置了主界面的。

创建Application对象
创建AppDelegate对象,并且设置成为Application对象的代理属性
开启主循环,目的是让程序一直跑起来
加载info.plist文件,判断下info.plist文件里有没有main.storyboard,如果有,就去加载main.storyboard,如果没有main.storyboard,则判断项目中是否自行创建了主界面,如果自己也没有自行创建住控制器,则程序无法启动。
  在实际的项目开发过程中,一般而言我们都是采用纯代码搭建框架,并不会用storyboard去构建我们的App,因为项目中必然涉及到非常多的界面以及互相之间的跳转,用storyboard控制逻辑会显得很混乱,而且我们一般都是多人合作开发一个项目,用storyboard则无法进行多人协作的方式。所以,要采用手动设置主界面需要分为两步:

一是废弃storyboard,这一步又分为两小步:删除main.storyboard文件;删除info.plist中对主界面的设置选项,如下图所示。
自行创建主界面,这个需要再我们的AppDelegate中完成,具体代码如下:
复制代码

  • (BOOL)application:(UIApplication )application didFinishLaunchingWithOptions:(NSDictionary )launchOptions
    {
    //初始化当前window并设置其大小
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

    ViewController *viewController = [[ViewController alloc] init];
    //设置当前window的主控制器
    self.window.rootViewController = viewController;
    //设置主界面并显示
    [self.window makeKeyAndVisible];

    return YES;
    }
    复制代码
    6 搭建目录结构
      对于一个比较复杂的项目,我们再开发过程中肯定不能把所有的文件都直接放在一个文件夹目录下,我们需要搭建目录结构对其进行层次化和结构化管理,这样便于我们在出现问题时快速定位到个功能模块上。对于项目的目录结构,没有统一的规范,主要是方便我们队我们的项目模块进行区分。

这里比较推荐的两种搭建目录方法如下:

其一是完全将model和viewController分开,参见:iOS开发总结——项目目录结构,框架如下:
复制代码
项目目录
├── ThirdLib(三方库)
│ ├── SDWebImage
│ └── AFNetworking
├── Framework(自己封装的类库)
├── General(通用类目录)
│ ├── Class(通用的类,比如自定义父类)
│ └── Helper(通用辅助方法)
├── Main(程序单一入口,仅放AppDelegate区分其他文件)
│ ├── AppDelegate.h
│ └── AppDelegate.m
├── Model(数据模型类目录)
│ ├── Macro(宏定义目录)
│ ├── BLL(业务逻辑层目录)
│ ├── DAL(数据访问层目录)
│ ├── Entity(自定义实体目录)
│ ├── Request(网络请求类目录)
│ ├── Location(定位服务类目录)
│ └── Socket(Socket类目录)
├── Module(功能模块目录)
│ │
│ ├─── ModuleA
│ │ ├── ViewControllerA.h(视图控制器头文件)
│ │ └── ViewControllerA.m(视图控制器m文件)
│ ├── ModuleB
│ ├── ModuleC
│ ├── ModuleD
│ └── ModuleE
└── View(视图类目录)
└── MyTestView
复制代码
其二是按功能模块区分,参见iOSAPP开发项目搭建,示例如下图,个人比较推荐这一种,然后在Modules中每一个功能模块又可以分为(model、resource、view、controller),这样的区分更为完整,公共的model或者view可以放在base里面。

原文地址:http://blog.51cto.com/13589857/2066510

时间: 2024-12-25 16:49:17

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

Cocos2d-X游戏开发(一):搭建微信H5棋牌牛牛出租平台房卡代理开发环境

首先到Cocos2d-X下载最新版微信H5棋牌牛牛出租平台房卡代理开发环境具体联系Q1687054422,下载的是cocos2d-2.0-x-2.0.3.zip此版本对于iOS 6做了些兼容正好适合,其他版本,http://code.google.com/p/cocos2d-x/downloads/list进入文件夹命令:"cd cocos2d-1.0.1-x-0.9.2",然后"sudo ./install-templates-xcode.sh"命令开始执行安装命

如何正确的在微信H5棋牌斗牛出租平台中的UI图中取色

在移动开发过程中,从微信H5棋牌斗牛出租平台(h5.fanshubbs.com)的UI图上获取颜色是日常开发中常有的事.不过从图片获取颜色也有很多种操作方式,很多人在日常中取到的并不是"正确"的值.设计图上直接标注:sketch-measure在设计图上直接标注,这类操作的典型应用是微信H5棋牌斗牛出租平台(h5.fanshubbs.com)的measure插件.measure在sketch中可以为选中元素标注尺寸.margin和其他一些属性.但是直接标注有几个显而易见的缺陷:标注的元

Andriod项目实战——如何在微信H5棋牌斗牛房卡源码平台租售搭建中的一个包下建新包教程

最开始是想将各个类分门别类地微信H5棋牌斗牛房卡源码平台租售搭网址:h5.fanshubbs.com联系Q1687054422存放在不同的包中,所以想在项目源码包中新建几个不同功能的包eg:utils.model.receiver等,最后的结果应该是下图左边这样的: 很明显建立项目后的架构是上图右边这样的,所以后面理所当然地选择new-->package,name栏填上activity,然而结果是下面左边这样的... 这样的结果明显与预想的不一样,我们看到activity与com.mukekew

Python之微信H5斗牛出租平台搭建数据结构基础

微信H5斗牛出租平台搭建下载网站:h5.fanshubbs.com联系Q1687054422一.数据结构基础 a.什么是数据结构 b.数据结构的分类 c.列表 列表d.栈 二.栈的Python实现 a.栈的应用--括号匹配为题 括号匹配实现b.队列 c.队列的实现 d.队列的实现原理--环形队列 e.队列的实现原理--环形队列 ![](http://i2.51cto.com/images/blog/201802/03/07e08bf827bebcb6e258e9ccfd28f20a.jpg?x-

HomeKit漏洞更新后更严重?微信H5棋牌平台搭建需要上心啊

就在这个月月初,有开发者发现了HomeKit中存在的严重漏洞,能允许任何人不经授权地控制网络中的微信H5棋牌平台搭建网站(h5.fanshubbs.com)的设备.可惜的是在经过大半个月之后,微信牛牛依旧没能完美解决这个问题. 据了解,早在10月28日的时候,一位名叫KhaosTian的开发者就已经发现了问题所在,并在10月29日将其汇报给微信牛牛的产品安全团队.尽管微信牛牛在回信中承诺他们会在整个11月内展开调查,但此后这位开发者又发送了多封电子邮件,却并无回信.然而当iOS11.2新版本到来

微信h5熟人牛牛源码租用程序员和用户

按理来说,真正的忙起来的工程师呢微信h5熟人牛牛源码租用(http://h5.hxforum.com) 联系方式170618633533企鹅2952777280 源码出售 房卡出售 后台出租有意者私聊扣扣,其实也没有太多时间来贵论坛看帖子.而且论坛的帖子水贴太多太多.消极能量也太多.这是第一次,也很可能是唯一一次发帖.只是想说点实话,与君共勉. 1,"后悔选择程序员","程序员找不到女朋友","...."太多消极的帖子充斥着各种论坛,包括这里.这

微信h5棋牌平台搭建JS常用设计模式

微信h5棋牌平台搭建(h5.ttkmwl.com QQ:2172243813)JS常用设计模式大型单页应用里,复杂度上升到一定程度时,没有适当的设计模式进行降耦,后续的开发也难以下手.而设计模式正是为了降耦而存在. 单例模式 单例模式的核心是确保只有一个实例,并且提供全局访问. 特点 满足"单一职责原则" : 使用代理模式,不在构造函数中判断是否已经创建过该单例; 满足惰性原则 应用 弹出登陆窗口. 实例 var getSingle = function (fn) { var res;

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

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

微信公众平台开发之基于百度 BAE3.0 的开发环境搭建(采用 Baidu Eclipse)

转载:<http://blog.csdn.net/bingtianxuelong/article/details/17843111> 版本说明: V1: 2014-2-13更新,红色字体代表最近一次更新的内容. V2: 2014-3-30  更新,上一版本有很多读者反应说最后还是无法通过微信 token 认证,此版本特意解决这个问题.红色字体代表最近一次更新的内容. 至读者: 对于版本 v1 不能成功的问题,我对此深表歉意,版本 v2 通过我再三测试,肯定能通过微信的 token,版本 v1