我的开发环境为:Mac OS X EI Capitan(10.11.6),Xcode 7.3.1

首先说明一下这个项目的初衷,我并非要创建一个完整的上架应用,旨在创建一个可运行的,通用配置、架构,提供通用组件和辅助工具的基础项目。以达到,克隆或者下载就可以快速装配新项目,聚焦于实际的应用逻辑开发。所以,我命名这个项目为“base”,而且项目会在github上同步,可以配合博客和git提交日志查看。

我以Single View Application为例,创建项目。我习惯于纯代码编程,该模板初始结构适当,后续忽略的文件较少。

上述选项界面,提示几点:
1.设备选择通用类型,我希望可以适配全设备
2.如果数据储存有FMDB或者LevelDB之类的方案,可以不用Core Data
3.不需要添加单元测试和UI测试,何必保留多余的内容

上述选择项目存放路径界面,重要的是代码版本管理选项,默认勾选了Xcode的git方式管理,如果想采用sourcetree之类软件来管理代码版本,不建议勾选。因为在项目根目录下生成的.git隐藏文件会导致sourcetree管理失效,解决办法是后续删除.git文件。

工程General配置

上述为创建成功的界面,不过对general配置稍作改动:
1.version,建议采用1.0.0格式;build号在每次提交到iTunes connect前才必须修改
2.team,可以忽略,或者添加开发者账号
3.deployment target按需选择,建议将PROJECT下的base的发布版本保持一致
4.main interface不打算采用main.storyboard,清空
5.这个base项目只想采用竖屏
6.如果未支持设备全方向,就必须勾选requires full screen,否则会编译错误
7.启动时候不采用LaunchScreen.storyboard,清空

如果启动时候采用各设备单张启动图,清空Launch Screen File栏,然后点击Use Asset Catalog,直接确定,没有必要在左侧文件列表中增加新的xcassets文件。

生成新的Brand Assets暂时不是需要的。
1.在上述截图的空白位置右键,选择AppIcons & LaunchImages -> New iOS Launch Images,生成新的LaunchImage文件如上图
2.右键Brand Assets,remove selected items
3.回到general配置界面,Launch Images Source选择LaunchImages
4.点击AppIcons或者LaunchImages右边箭头,或者选中左侧列表的Assets.xcassets文件,进入详细配置界面

上图右侧选中箭头图标,则是配置具体在不同版本上的icon或者启动图,image栏则显示了相关需求信息。直接将其他地方的png图片拖放到对应网格中即可,拖放后,可右键网格中图片在Finder中查看具体存放位置。只需注意一点,icon和启动图必须为png格式的图片。

Build Settings配置

基础配置已经完成,只需要注意以下配置:

1.Bitcode默认为YES,提交到iTunes connect后,苹果会拆分包资源,为不同设备生成较小体积的ipa文件;如果项目中有不支持bitcode的代码,编译会报错,需要手动设置为NO

2.Code Signing配置真机调试和发布用的证书,如果已经添加了相关证书和配置概要文件,按如下配置Xcode可自动识别

3.Other Linker Flags一般不需要设置,在添加某些第三方库以后,需要设置

4.Info.plist File该文件记录了应用的重要配置,默认配置了路径;可以修路径,指向自定义plist文件的位置

5.Search Paths需要特别注意Framework、Header、Library三项的Search Paths,添加第三方库以后会自动加入,也可手动管理。注意两点:一是删除第三方库后,如果提示找不到该库,需要手动来此删除路径;二是,编辑路径,建议使用项目相对位置“$(PROJECT_DIR)”

6.Prefix Header如果添加了预编译头文件,此处管理预编译头文件的路径,建议用相对位置“$(SRCROOT)”

以上,对创建项目和工程基本配置进行了记录,下一篇记录plist和prefix header文件。

App开发流程之创建项目和工程基本配置的更多相关文章

  1. 20个可以帮你简化iOS app开发流程的工具

    这里推荐20个可以帮你简化iOS app开发流程的工具.很多开发者都使用过这些工具,涉及原型和设计.编程.测试以及最后的营销,基本上涵盖了整个开发过程. 原型和设计 有了一个很好的创意后,你要做的不是 ...

  2. iOS开发之工具篇-20个可以帮你简化移动app开发流程的工具

    如果想进入移动app开发这个领域,你总能从别的开发者或者网上或者书上找到各种各样的方法和工具,对于新手来说,还没有摸清门路就已经陷入迷茫了.这里推荐20个可以帮你简化app开发流程的工具.很多开发者都 ...

  3. app开发流程有哪些

    app开发流程是需求方和供求方相互协调的过程,一般分为需求分析.功能设计.功能实现.项目测试.上线等几个步骤,下面我们就来一起看看ytkah团队进行app开发各个流程主要做哪些事情,让您对app开发设 ...

  4. MVC5 网站开发之二 创建项目

    昨天对项目的思路大致理了一下,今天先把解决方案建立起来.整个解决包含Ninesky.Web.Ninesky.Core,Ninesky.DataLibrary等3个项目.Ninesky.Web是web应 ...

  5. 从零开始实现ASP.NET Core MVC的插件式开发(二) - 如何创建项目模板

    标题:从零开始实现ASP.NET Core MVC的插件式开发(二) - 如何创建项目模板 作者:Lamond Lu 地址:https://www.cnblogs.com/lwqlun/p/11155 ...

  6. FPGA开发流程(创建工程,选择芯片,变量位置,文件命名,reg和wire数据类型,开发流程)

    开发流程(以二选一选择器为例) 1.设计定义:设计一个可以从两个输入端中选择其中一个并输出的逻辑电路 2.设计输入 2.1.逻辑抽象:三个输入端,一个用来选择,记sel,另两个被选择,记a,b,加上一 ...

  7. day97:MoFang:移动端APP开发准备&移动端项目搭建&APICloud前端框架

    目录 1.移动端开发相关概念 1.APP类型 2.移动端屏幕介绍 3.移动端自适配方案 4.元信息(meta) 2.APP开发准备 1.注册APPCLoud账号 2.下载APP开发编辑器 3.下载AP ...

  8. CI Weekly #2 | 如何优化开发流程,实现项目持续集成?

    原文首发于 flow.ci Blog >> 链接,转载请联系:) CI Weekly 围绕『 软件工程效率提升』 进行一系列技术内容分享,包括国内外持续集成.持续交付,持续部署.自动化测试 ...

  9. App开发流程之源代码Git管理

    base项目已经可以编译运行了,只不过没有实际功能而已.继续完善base项目前,我们需要考虑一下代码管理的事情了. 不管是一个人开发还是一个团队开发,对源代码进行版本管理是必须的,任何人对代码的的任何 ...

随机推荐

  1. 使用wifi连接eclipse进行android程序调试

    首先手机必须是root过的.能够使用百度一键root工具. 然后,在手机中打开这个终端(terminal)应用,输入例如以下命令:         su         setprop service ...

  2. Hadoop自带Sort例子分析

    /** * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agree ...

  3. LCD屏背光驱动调试心得---血的教训

    开发板:明远智睿MY-IMX6-EK140 内核源码:linux-3.14.52 背光驱动IC:MP3202 调光原理:通过开发板的核心板PWM4引脚控制MP3202的EN脚,输出不同的占空比从而达到 ...

  4. 华为nova3发布,将支持华为AI旅行助手

    ​​​华为nova3于7月18日18:00在深圳大运中心体育馆举行华为nova 3的发布会,从本次华为nova3选择的代言人-易烊千玺,不难看出新机依然延续nova系列的年轻属性,主打 “高颜值 爱自 ...

  5. Selenium+Python :WebDriver设计模式( Page Object )

    Page Object 设计原理 Page Object设计模式是Selenium自动化测试项目的最佳设计模式之一,强调测试.逻辑.数据和驱动相互分离. Page Object模式是Selenium中 ...

  6. jqury 如何获取 kindeditor 中textarea 的值

    获取文本内容,可是的创建时怎么也不能获取,利用FF的firebug查看到自己所写的内容在一个iframe中,于是想从iframe中获取文本,想要用 $(“ifame”).html();获取内容,可是依 ...

  7. ios uitableview button 获取cell indexpath.row

    在iOS7下面已经无效,因为iOS7的层级关系发生变化 UITableViewCell->UITableViewCellScrollView->UITableViewCellContent ...

  8. Count(二维树状数组)

    [bzoj1452][JSOI2009]Count Description Input Output Sample Input Sample Output 12   HINT 题解:对于每一个颜色建一 ...

  9. H - Coins

    H - Coins Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Descripti ...

  10. 九度OJ 1200:最大的两个数 (最值)

    时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:2904 解决:761 题目描述: 输入一个四行五列的矩阵,找出每列最大的两个数. 输入: 输入第一行包括一个整数n(1<=n<= ...