在Xcode中管理你的工作流程

在Xcode中管理你的工作流程

在你看完了教程 你的第一个iOS应用 的时候,你在Xcode的工作区窗口中执行你主要的工作流程的任务. 一个单独的Organizer(组织者)窗口可以让你执行一些辅助任务,例如阅读文档,调试设备,以及准备将你的程序提交到App Store上.

工作区的特征有一个 导航器区域, 一个编辑器区域, 一个实用工具区域. 在你的第一个iOS应用中, 你使用了导航器区域来选择文件并编辑. 你实用了编辑器区域来编辑源文件并且设计用户界面组件. 在实用工具中,你设置了标签的文本和按钮的标题.

自定义你的工作区

你可以隐藏在这一系列的组合中的导航器,编辑器,实用工具区域. 在你的第一个iOS应用中,你使用了工具栏的视图选择器(View selector)来隐藏和显示实用工具区域. 隐藏实用工具区域可以让你看到更大的编辑器区域, 显示实用工具区域可以让你察看并选择各种对象的属性.

image: ../Art/utility_button.png

你可以用其他的方式来自定义工作区, 例如 通过使用Safari的标签(或者说选项卡)的样式在工作区窗口上实现一个多重的,特定的工作流程布局. 比如,你可以使用一个标签来查看头文件(.h),另一个标签则查看实现文件(.m).

image: ../Art/MultipleTabs.png
bullet
去在标签(tab)上查看源代码文件 . . .
  1. 在工程导航器中选择HelloWorldViewController.h 然后头文件就会显示在源码编辑器中.

  2. 选择 View > Show Tab Bar.

  3. 选择 File > New > Tab.

  4. 在工程选择器中,选择HelloWorldViewController.m文件,然后实现文件就会显示在标签式的源码编辑器的窗口中.

  5. 点击不同的标签可以在这些源文件之前进行切换.

  6. 要移除一个标签,就移动鼠标到标签上并点击它的关闭对话框.

  7. 你可以通过选择 View > Hide Tab Bar 来隐藏标签栏.

你还可以创建多个工作区窗口. 每一个标签或者工作区窗口都可以单独进行自定义.

image: ../Art/MultipleWindows.png
bullet
去在多窗口中查看源码文件 . . .
  1. 在工程导航器中选择HelloWorldViewController.h, 然后会在源码编辑器中显示这个头文件.

  2. 选择 File > New > Window 来打开一个新的工作区窗口.

  3. 在工程编辑器中选择HelloWorldViewController.m,然后就会在新的窗口中显示这个实现文件.

  4. 来定义其中一个窗口, 比如通过用视图选择器(View selector)来显示及隐藏实用工具区域.

在iOS模拟器中测试你的应用

当你要运行或调试你的应用时,你可以在Mac上使用iOS模拟器来运行它. 你就可以弄明白你的应用是否以你希望的方式运行.

调试环境内置到了Xcode中. 当你的程序正在运行的时候, 调试导航器显示着一个堆栈跟踪,你可以在调试的时候 去展开或收起这个堆栈页面. 在你单步调试过程中,你可以锁定到一个单一的线程中,并且可以关注着这个指定线程的执行.

image: ../Art/Debug.png
bullet
在Xcode调试器中运行你的应用 . . .
  1. 在你的HelloWorld工程中,在工程导航器中选择HelloWorldViewController.m就可以在源码编辑器中显示这个文件

  2. 定位到语句 self.label.text = greeting;}.

  3. 点击这个语句的左侧的槽(gutter)来插入一个断点.

    将出现一个蓝色的断点指示牌.

    image: ../Art/Breakpoint.png
  4. 在工具栏上点击Run按钮,就会编译并在iOS模拟器中运行.

  5. 在文本框中输入World,然后点击Done按钮来关闭键盘.

  6. 点击Hello按钮.

    断点会导致HelloWorld停止执行. 工作区窗口会被切换到前台, 然后编辑器区域的底部会打开调试器区域. 这个调试器区域显示了一些局部变量和它们当前(成员变量或者函数参数)的值. 要移除这个断点, 点击并拖拽这个断点到槽的外面即可.

在一个iOS设备中测试你的应用

尽管你可以在iOS模拟器中测试你应用的基本行为,但是你还是应该去在和Mac已经连接的设备上运行这个应用. 设备上提供了最终的测试环境,你可以在你的设备上观察你应用的行为. 这样测试是必需的,因为iOS模拟器不会运行在设备上所运行的所有线程. 你最好应该在所有的iOS设备以及你希望支持的iOS版本中进行测试你的应用.

如果你已经加入了iOS开发者计划,你现在就可以开始在设备上运行,测试 并调试你的应用. (在路线图前面的 搭建 中已经包含了如何登记为一个iOS开发者的说明了.)

要在设备上运行你的应用, 你必须从苹果获取一个开发者证书. 你的应用必须是加密认证过的 才能在设备上运行, 并且这个证书是用来签名你的应用. 你可以通过Xcode 组织者(Organizer)窗口来获取这个证书.

注意: 如果你正在Xcode的文档管理器(documentation organizer)中阅读下面的说明, 就在这个页面的任何地方按住Control键并点击左键, 然后从上下文菜单中选择. 这个页面会在默认浏览器中打开. 在你做下面步骤的时候,当点击设备管理器(Devices organizer)后, 设备管理器会替换掉文档管理器的这个页面的,因此在浏览器中有这个说明就会对你很有帮助. 当你已经完成这些所说明的步骤的时候, 如果你想继续在Xcode种阅读这个页面, 那么就在组织者(Organizer)窗口的工具栏上点击Documentation即可.

bullet
在Xcode中获取你的开发者证书 . . .
  1. 选择 Window > Organizer.

  2. 点击 Devices.

  3. 在Library(应该是大写的)的下面选择Provisioning Profiles.

  4. 点击窗口底部的Refresh按钮.

  5. 输入你的开发者的用户名和密码,然后点击Log in.

    在登陆到你的账户后,Xcode会弹出一个提示来询问你是否应该去请求你的开发者证书.

  6. 点击Submit Request 按钮.

    这个开发者证书被加入到你的钥匙链(keychain)中,并且稍后会加入到iOS Team Provisioning Profile中. Xcode会弹出另外一个提示来询问你是否请求你的分配(distribution)证书. 如果需要的话, 就再次点击 Submit Request 按钮.

    image: ../Art/4_developmentcertificate.png

要在一个设备上运行应用,你还必须在设备上安装一个已经关联的provisioning profile文件. 这个provisioning profile文件通过识别你的个人信息(通过你的开发者证书)和你的设备(通过列出它的唯一设备的标识).

bullet
To provision your device in Xcode . . .
  1. 在Mac上连接你的设备.

  2. 打开设备管理器(Devices Organizer).

  3. 在Devices下面选择你的设备.

  4. 点击 "Use for Development" 按钮.

    image: ../Art/6_registerdevice_before.png

    第一次需要添加一个设备ID到你的账户中, Xcode会使用Xcode通配应用ID、你的开发者证书 以及 设备ID来创建iOS  Team Provisioning Profile.这个iOS Team Provisioning Profile也安装到了设备上.

当有了一个开发者证书和一个provisioning profile的时候,就可以在设备上运行你的应用了. 在你的应用运行在设备上的时候, 你还是可以使用Xcode调试和性能分析工具.

bullet
在已连接的设备上运行你的应用 . . .
  1. 在Xcode里,在你工程的工作区中, 选择Product > Edit Scheme 来打开一个方案编辑器.

  2. 从Destination弹出菜单中选择你的设备.

    当你将一个已经安装了有效的provisioning profile文件的设备连接到你的Mac电脑的时候, 将会在Destination弹出菜单中显示它的名字和iOS的版本.

    image: ../Art/LaunchAppOnDevice.png
  3. 点击OK关闭方案编辑器.

  4. 点击Run按钮.

    如果代码签名工具(codesign tool) 可以使用你钥匙链中的key进行你应用的签名,会弹出一个提示, 这时候点击Allow 或者 Always Allow.

快速查找Xcode帮助

在你进行应用开发的过程中,你需要在Xcode中完成很多的操作. 如果你需要查看这个关于一个任务的帮助, 给你提供了一个非常人性化的工作流程帮助,你可以直接从Xcode的用户界面来访问. 这个帮助包括了 简单的流程步骤, 视频或者截图, 以及简明的描述 可以让你很快的回到工作中去.

bullet
去查看Xcode的帮助 . . .
  1. 在HelloWorld工程当中,在工程导航器中选择HelloWorldViewController.h文件,就会在源码编辑器中显示这个头文件.

  2. 如果你在Xcode文档管理器中已经阅读了这个文档,那么就定位到Go Back按钮上. 你将会在完成了剩余步骤后点击它返回这个页面.

    image: ../Art/GoBackButton.png
  3. 在源码编辑器中的任何地方按住Control键并点击.

    会弹出一个上下文菜单,最后一项是Source Editor Help.

  4. 选择Source Editor Help来显示一个 源码编辑器一般任务的列表 .

    image: ../Art/SourceEditorHelp.png
  5. 选择 Source Editor Help > “Catching Mistakes with Fix-it” 来在文档管理器中查看一篇帮助文章.

  6. 点击缩略图像来播放一段教学视频.

改善你应用的性能

要确保你最终发布的应用有最好的用户体验, 用Xcode上的性能分析工具来分析你运行在iOS模拟器或者一个设备上应用的性能.这个工具会收集你正在运行的应用的数据 并且 以图形时间线(graphical timeline)的方式来显示它.

image: ../Art/instruments_showcase.png

你可以收集关于你应用内存使用,磁盘活动情况,网络活动情况 以及图形性能 以及其他测量数据. 通过可以在一起查看这些数据,你就可以在不同方面来分析你应用的性能,以便来改善它. 你可以自动化测试你应用的用户界面元素. 你还可以取比较你的应用在不同时间中的行为,这样可以确定是不是通过刚才的改变提高了你应用的性能了.

bullet
开始分析你应用的性能 . . .
  1. 在Xcode的你的工程当中, 选择Product > Perform Action > Profile Without Building.

  2. 在左边一列的iOS Simulator下面, 点击All来查看所有可用的跟踪(trace)模板.

  3. 选择Leaks模板并点击Profile.

    然后这个工具应用会连同启动模拟器运行HelloWorld.

  4. 在文本框中输入你的名字,点击Done按钮关闭键盘,然后点击Hello按钮.

  5. 选择 iOS Simulator > Quit iOS Simulator 来停止记录性能数据.

  6. 在工具面板点击Allocations来检查HelloWorld工程的内存分配情况.

    例如, 跟踪面板中的曲线图表示着出现内存开辟的地方, 这样可以让你看清楚程序自始至终是如何频繁地进行内存开辟的. (在跟踪面板中,如果有较大的峰值(此起彼伏)的话,那么就表示可能会有潜在的瓶颈, 你可能想通过预先分配一些内存块或者处理掉一些不需要的内存块来减轻这个瓶颈.)

管理你应用的版本

如果因为你更改了代码导致程序执行错误, 那么Xcode的快照(snapshot)可以很容易的恢复你的工程,甚至对一个已经删除的工程,也可以恢复到之前的状态. 一个快照可以将你工程的当前状态保存到硬盘上,并为日后需要恢复时所使用.Xcode的工程管理器(Projects organizer)中列出了你的所有快照.

你可以在任何时候来手动地创建一个快照,而且你还可以设置Xcode在一些其他情况下来自动创建快照,例如在每次编译之前或者在执行每次查找和替换操作之前.

image: ../Art/snapshots.png
bullet
去创建和还原一个你工程的快照(snapshot)  
  1. 打开HelloWorld工程, 选择File > Create Snapshot.

  2. 在提供好的字段里输入名字和描述.

  3. 点击Create Snapshot.

  4. 要查看快照,选择Window > Organizer来显示组织者(Organizer)窗口.

  5. 点击Projects按钮.

    你应该会看到所有快照的列表.

(如果你是和程序员团队在一起工作的话,那么源代码控制管理(Source Control Management, SCM)还可以帮助你来协调工作(coordinate efforts)).一个源代码控制管理系统在硬盘上给每一个文件保存着多个版本, 在源代码控制管理的仓库(repository)中存储着每一个文件的每一个版本的元数据.

Xcode支持两种流行的源代码控制管理系统: Git 和 Subversion.  Xcode包含着一个版本编辑器可以让你很容易地从这两种系统的任何一种中来比较仓库中所存储的每一个文件的每一个版本.如果你发现了在你的代码中有一些Bug,那么你可以与这个文件的最新版本进行比较,还可以和已经正常工作的早期版本进行比较,来帮助你在源码中没有问题发生.

image: ../Art/version_editor_nav_bar.png

分配和发布你的应用

在你的应用发表并且发布到App Store之前,Xcode可以很容易地将你的应用分配给其他测试人员.在Xcode中使用方案编辑器来创建你应用的归档,就可以开始分配应用了.你接下来就可以在Xcode种使用 归档管理器(Archives organizer)将你的应用共享给其他的测试人员了.

当你已经准备要发布你的应用的时候,还需要使用 归档管理器 来执行一个非常重要的测试,这个测试是App Store发布前所必须要完成的.当通过这个测试的时候,就可以确保你的应用可能会审核地快一些. 接下来你将会从Xcode中直接将你的应用提交到App Store上.

image: ../Art/archives_organizer.png

你将会在线路图随后的文章 "准备提交App Store" 中学习到更多的分配和发布你的应用的知识.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值