基于XCode8.x创建ios项目

开篇语

已经很久没写点东西了,上一次做笔记还得追述到两年前,由于工作的需要,最近几周开始接触iOS开发,在学习过程中,想给自己做一下记录,加深对知识点的记忆,同时也加强自己的文字能力;笔记所涉及到的都是很基础的知识点,因为是刚刚接触iOS开发,所以在有些知识点的理解上可能出现错误,还望大家帮忙指正。

开发环境及工具说明

Mac系统和XCode编译器想必大家都知道,XCode本身已经集成了完整的开发所需的工具(这个比原来使用eclipse进行Android开发要好的太多,当然AS也挺好的),XCode内置的XCode IDE、性能分析工具、iOS SDK、iOS模拟器和最新的OS X,这使得开发者能够更好的进行iOS APP的开发。iOS开发中用到的类名和方法名,都是具有语义化的,从名称上就能看出其作用,当然,这也使得名称变得很长,这让我这类从Android转iOS的有些许不适应;XCode有着强大的OC代码提示和自动补全功能,这对于一些新人或者不愿意去记各种类名、方法名的同学(ji yi li bu hao),非常有用,XCode还为我们提供了很多高效的快捷键,这大大提高了编码的效率。因此,对于要做iOS开发的小伙伴,拥有一台装有Mac OS X的电脑,并安装上XCode是必须的。这篇笔记是基于iOS10和XCode8.0来写的。

创建第一个iOS APP的步骤

- 创建一个ios项目

  • 1、将鼠标移到XCode左上角,在弹出的标题栏上选择File–>New–>Project,如下图
    这里写图片描述
  • 2、模板选择界面,在XCode8上有五个类目的模板,分别为iOS、watchOS、tvOS、macOS和跨平台模板Cross-Platform,如下图
    这里写图片描述
    以下对iOS的模板进行简单描述:
    • Single View Application:单视图应用程序
      • This template provides a starting point for an application that uses a single view. It provides a view controller to manage the view, and a storyboard or nib file that contains the view.
      • 此模板为使用单一视图的应用程序提供了一个起点。它通过提供一个视图控制器,和一个storyboard或nib视图文件来管理应用界面的各个视图控件。是最常用的应用模版。
    • Game:游戏应用程序模板
      • 如果你要创建3D游戏或者图形,可以使用这个模板。它会创建一个配置好的视图,专门用来显示GL场景,并提供了一个例子计时器可以令其演示动画。
    • Master-Detail Application:创建基于主从视图的应用程序
      • This template provides a starting point for a master-detail application. It provides a user interface configured with a navigation controller to display a list of items and also a split view on iPad.
      • 很多有过一些开发经验的程序员会发现现在为iPhone的Navigation(导航模式)和为iPad的Split(分割模式)的工程模板没有了,其实这个地方就是这两种工程的入口,如果你选择是iPhone版的Master-Detail Application,其实际生成的就是Navigation(导航模式),如果选择iPad,则为Split(分割模式),拓展创建基于主-从视图的应用程序
    • Page-Based Application:翻页应用模板
      • This template provides a starting point for a page-based application that uses a page view controller.
      • 这个是iOS5引入的一个新的类,page view controller,其翻页效果是基于OpenGLES实现的。选择“Page-based Application”项目模板就可以利用这个模板创建一种“基于页”的应用程序。
    • Tabbed Application:标签应用
      • This template provides a starting point for an application that uses a tab bar. It provides a user interface configured with a tab bar controller, and view controllers for the tab bar items.
      • 提供了一种特殊的控制器,会沿着屏幕底部显示一个按钮栏。这个模板适用于像iPod或者电话这样的应用程序,它们都会在底部显示一行标签,提供一系列的快捷方式。简单说就是创建一个选项卡多视图应用程序。
    • iMessage Application和Sticker Pack Application
    • Cocoa Touch Framework:创建动态库
      • 使用动态库的好处:
        a、使用动态库,可以将最终可执行文件体积缩小
        b、使用动态库,多个应用程序共享内存中得同一份库文件,节省资源
        c、使用动态库,可以不重新编译连接可执行程序的前提下,更新动态库文件达到更新应用程序的目的
    • Cocoa Touch Static Library:创建静态库
      • 使用动静态库的好处:
        a、模块化,分工合作
        b、避免少量改动经常导致大量的重复编译连接
        c、也可以重用,但不是共享使用
    • Metal Library:创建Metal库
      • 暂不加于说明,做游戏开发的应该会接触的比较多,用于3D图形处理的。

在这里我们只关注Single View Application,选择iOS下的Single View Application,点击next。
- 3、项目选项设置界面,这些设置在项目配置界面是可以修改的,如下图
这里写图片描述
字段说明:
- a、Product Name:工程名
- b、Team:团队(在App Store上注册的,在模拟机上运行项目时不需要,但是如果是团队开发就需要注意了)
- c、Organization Name:组织名
- d、Organization Identifier:组织身份证
- e、Bundle Identifier:Bundle ID
- f、Language:语言选项,有Objective-C和Swift两种语言,默认Objective-C
- g、Devices:设备选项,有Universal、iPhone和iPad三种设备,默认iPhone
- h、Use Core Data:Core Data是一个框架,以让开发者很方便的,以对象的方式,去调用对应的数据存取接口存取数据,是数据持久化存储的最佳方式。iphone数据存储之-- Core Data的使用
- i. Include Unit Tests和Include UI Tests:这两个都是Xcode自带测试工具,勾选是会为你的项目集成单元测试,在项目开发过程中非常有用。Xcode:为你的项目集成单元测试(unit tests)时记得避开这些坑
在这里,其实我们只需要填写Product Name对应的工程名,并将Devices选择为iPhone,其它字段都使用默认。
- 4、最后一步, 择项目存储位置后点击窗口右下角Create按钮,完成应用创建过程。
这里写图片描述
图中1为所选位置,2为新建文件夹,点击create后会看到以下界面。
这里写图片描述
在这里,就可以看到我们在第三步的设置,当然也可以进行修改;XCode对不同类型的配置信息进行分组,Indentity(app身份信息)、Signing(签名)、Deployment Info(发布信息)、App Icons and Launch Images(app图标和启动图片)、Embedded Binaries(嵌入二进制文件<即,授权文件>)和Linked Frameworks and Libraries(框架和库链接)。
我们目前先只关注Deployment Info下的Main Interface,这里默认为Main,就是以Main.storyboard作为程序的入口界面,Main.storyboard会自动关联到默认生成的ViewController,我们在ViewController的viewDidLoad方法中输出一行日志NSLog(@”这是我的第一个iOS APP”),看下图:
这里写图片描述
- 5、编译和运行项目,点击XCode左上角的三角图标(快捷键command+r),运行之后,我们能在控制台的All Output下看到打印的日志;由于我们并没有在Main.storyboard中拖入任何控件,因此,在模拟器上APP界面显示是空白的,如下图。
这里写图片描述

- 程序目录结构说明

  • 1、项目创建完成之后,Xcode会进入项目开发界面,界面大致分为三部分,左侧项目及目录结构列表、中间为代码编辑区、右侧属性设置和控件列表等区域,正如上面我们创建完项目所看到的。下面是目录结构的截图:
    这里写图片描述
    项目初始时至少会有MyFirstApp和Products两个目录,在图中之所以会有MyFirstAppTests和MyFirstAppUITests这两个目录,是因为我们在创建项目的第三步中勾选了Include Unit Tests和Include UI Tests,因此在项目中集成了单元测试;在项目开发过程中,开发者也可以自行根据情况添加目录。以下是简单的目录说明:
    • MyFirstApp:目录与项目名称同名,主要存放应用相关源代码和配置文件
    • MyFirstAppTests:用于单元测试的
    • MyFirstAppUITests:用于进行UI测试
    • Products:用于存放生成的应用文件,文件名显示为红色,表明实际不存在这个文件,开发中开发者一般不必关心

总结

这篇笔记就先记录到这里吧,原本还想对OC基础数据类型(NS系列的基础数据类型)、运行和调试(模拟器,自定义模拟器设置,NSLog日志输出)进行简单的记录的,但是实在有点累,而且太久没有做笔记了,一下子感觉思路有点混乱,在之后会另外记一篇关于数据类型、运行和调试相关的笔记。


~#虽然笔记质量欠佳,但是还是希望自己能够坚持写下去!#~

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值