正如上一个教程“你的第一个 iOS 应用”中所介绍的,你的大部分工作流程都是在 Xcode 工作区窗口里完成的。有个单独的 Organizer
窗口可以执行一些辅助任务,例如阅读文档、启用测试设备和准备提交应用到 App Store 等。
工作区窗口含有一个导航区域、一个编辑器区域以及一个实用工具区域。 在“你的第一个 iOS
应用”教程中,你已经利用过导航区域来选择要编辑的文件了。你也使用过编辑器区域来编辑源文件并设计用户界面部分。在实用工具区域里,你可以设置标签上的文字以及按钮上的标题。
定制你的工作区
你可以隐藏导航区域、编辑器、实用工具区域形成不同的组合方式。在“你的第一个 iOS
应用”教程中,你使用过工具条中的视图(View)选择器来隐藏和打开实用工具。把实用工具区域隐藏起来可以获得更大的代码编辑区域,而打开实用工具则可以方便查看并选择各种对象的属性等。
同时也有其他定制工作区的方法,例如使用 Safari 风格的标签页来实现多重的、特定工作流程的外观组合。例如,你可以用某一个标签页来查看 .h
文件即头文件,用另一个来查看对应的 .m 文件。
如何在标签页中打开源代码文件…
- 在工程导航栏中选中 HelloWorldViewController.h 文件,编辑器区域就会显示文件内容。
- 选择 View > Show Tab Bar。
- 选择 File > New > New Tab。
- 在工程编辑器里选中 HelloWorldViewController.m 文件,其内容便会在当前标签页的源代码编辑器里显示。
- 点选不同的标签页来浏览各个源文件。
- 要移除某个标签页,点按标签页上的关闭按钮即可。
你还可以打开多个工作区窗口。每个标签页或工作区窗口都可以独立定制。
如何在多个窗口中打开源代码文件…
- 在工程导航栏中选中 HelloWorldViewController.h 文件,编辑区域就会显示文件内容。
- 选择 File > New > New Window 来开启一个新工作区窗口。
- 在工程编辑器里选中 HelloWorldViewController.m 文件,其内容便会在新窗口中显示。
- 任何一个窗口都可以独立定制,例如显示包含视图选择器的实用工具区域,或选择 View > Hide Tab Bar 来隐藏标签栏。
在 iOS 模拟器中测试你的应用
当你需要测试应用或进行调试时,可以在 Mac 电脑上使用 iOS Simulator
模拟器。通过 iOS
模拟器测试,你可以确保应用运行是否正常并且运行结果是你所期待的那样。
Xcode
本身带有调试环境。当应用开始运行时,调试导航器就会显示堆栈跟踪,你可以在调试过程中展开或收起它来显示和隐藏堆栈帧显示。随着调试的进行,你还可以锁定某一个线程并跟踪该线程的执行。
如何在 Xcode 调试器中运行应用…
- 在你的 HelloWorld 工程中,在项目导航栏中选择 HelloWorldViewController.m 文件,代码编辑器窗口会显示文件内容。
- 定位到语句 self.label.text = greeting;}。
- 点按这行语句左侧的边栏部分,插入一个断点。
会出现一个蓝色的断点标志。
- 现在点按工具栏中的 Run 按钮,来构建并在 iOS 模拟器中运行 HelloWorld。
- 在文本框里输入“World”,完成后点选“Done”来关闭键盘。
- 点按“Hello”按钮。
断点会使 HelloWorld
运行到这里时停下来。工作区窗口自动显示在最前面,编辑器底部会显示调试区域。调试区域显示的就是本地变量以及它们目前的值。
在 iOS 设备上测试你的应用
尽管你可以在 iOS 模拟器上测试应用的基本运行情况,但你还应该在已和 Mac
电脑连接的设备上运行和测试。真实设备才是最终的测试环境,在开发者真实设备上的就能出现大部分将来可能在用户的设备上反映出的状态或问题。这类测试非常有必要,因为
iOS 模拟器只运行真实设备中的部分进程。最理想的情况是,在所有你希望运行的系统板本和设备型号上逐一进行真机测试。
如果你已加入 iOS 开发者计划,你现在就可以使用 Xcode 进行真机运行、测试和调试了。(本路线图的“安装工具”部分给出了如何加入 iOS
开发者计划的方法。)
要在设备上运行自己的应用,你首先要从苹果公司获得一份 iOS 开发证书。你的应用程序必须经过加密签名才可以在设备上运行,这份 iOS
开发证书就是用来给应用签名的。要获取证书,需要打开 Xcode 的 Organizer 窗口。
注意:如果你是通过 Xcode 文档管理器阅读下面的说明,请右键点按本页的任意位置并选择“Open Page in
Browser”菜单项,本页将会在默认的浏览器中打开。在下一步中,当你点选设备管理器时,设备管理器页面就会出现而将本页替换掉。所以在浏览器中打开本页面能够方便接下来的操作。当你完成说明里的操作步骤之后,点按
Organizer 窗口工具条中的 Documentation 标签按钮,就可以在 Xcode 中回到本页面继续阅读。
如何在 Xcode 中获得你的开发证书…
- 点选 Window > Organizer。
- 点按 Devices。
- 点选 LIBRARY 下的 Provisioning Profiles。
- 点按窗口底部的 Refresh 按钮。
- 输入你的 Apple Developer 用户名和密码,然后点按 Log in。
登录你的帐号之后会弹出一个提示框,Xcode
会询问你是否要请求一份开发证书。
- 点按 Submit Request 按钮。
开发证书便会被添加到你的钥匙串中,并在稍后添加到 iOS Team Provisioning
Profile。可能会出现另一个提示,询问 Xcode 是否应该请求你的分发证书,这个证书在提交应用至 App Store 时需要用到。如果可以的话,请再次点按
Submit Request 按钮。
要在设备上运行应用,你还需要在设备中安装相关联的描述文件(provisioning
profile)。你的应用要能运行必须确认你的身份(通过你的开发证书)和你设备的身份(通过列出它的唯一设备身份标识)。
如何在 Xcode 中认证你的设备…
- 将你的设备连接到 Mac 电脑。
- 打开设备管理器。
- 在 Devices 栏下面选中你的设备。
- 点按 Use for Development 按钮。
在首次向你的帐号添加设备 ID 时,Xcode 会根据通配符应用 ID、你的开发证书和设备 ID 来创建一份 iOS Team Provisioning
Profile,并将其安装到你的设备中。
有了开发证书和描述文件之后,你就可以在设备上运行自己的应用了。在运行的时候还可以通过 Xcode 的调试和性能描述组件来观察运行状态。
如何在已连接的设备上运行应用…
- 在 Xcode 工作区窗口中点选 Product > Edit Scheme 打开方案编辑器。
- 在弹出的 Destination 菜单中点选你的设备。
当你将一台安装了有效描述文件的设备连接到 Mac
上时,这台设备的名称以及当前系统版本会出现在 Destination 菜单中。
- 点按 OK 关闭方案编辑器。
- 点按 Run 按钮。
如果弹出对话框询问代码签名工具是否可以使用钥匙串中的钥匙为应用签名,请点选 Allow 或 Always Allow。
快速找到 Xcode 帮助信息
在应用的开发过程中,你会在 Xcode 中完成各种各样的工作。如果在某项任务中需要帮助,Xcode 可以提供针对工作流程的帮助,这些是可以直接通过
Xcode 界面访问到的。帮助信息帮括清晰、易行的步骤、视频或屏幕截图,精炼的描述语言能够让你更快地返回工作当中。
如何查看 Xcode 帮助信息…
- 在 HelloWorld 工程里,在工程导航栏选中 HelloWorldViewController.h 文件,源代码编辑器会显示其文件内容。
- 如果你正在 Xcode 文档管理器中阅读此页,请找到 Go Back(返回)按钮。当你完成后边的步骤时会需要点按这个按钮以便回到此页。
- 在源代码编辑器中任意位置点按右键。
在弹出的菜单中选择最后一项 Source Editor Help。
- 选中 Source Editor Help 之后就会显示一系列常见源代码编辑器任务。
- 点选 Source Editor Help > Catching Mistakes with Fix-it 就可以在文档管理器中查看这篇帮助了。
- 点按其中的缩略图可以播放教学视频。
改进应用的性能
为了确保你的应用能够带来最好的用户体验,请打开 Xcode 中的 Instruments 应用来分析你的应用在 iOS
模拟器或真实设备中的性能。Instruments 会从运行中的应用里收集各类数据并已图表的形式呈现在时间轴上。
你可以收集应用的内存占用数据、磁盘活动、网络活动以及图形性能,以及其他一些状态数据。在这个集中的位置查看数据,你就能够分析出你的应用在不同的方面表现如何,并查找潜在的性能提升空间。你可以自动化应用用户界面元素的测试。你还可以对比不同时间运行应用后的数据来判断是否做出了有效的性能提升等。
如何开始分析应用的性能…
- 在 HelloWorld 工程中,点选 Product > Perform Action > Profile Without
Building。
- 在左侧的 iOS 模拟器下边,点选 All 来查看所有可用的跟踪模板。
- 点选 Leaks 模板并点按 Profile。
Instruments 应用就会随 iOS 模拟器运行 HelloWorld 而自动启动了。
- 在 HelloWorld 文本框中输入你的名字,点按 Done 按钮关闭键盘,然后点按 Hello。
- 点选 iOS Simulator > Quit iOS Simulator 来停止记录性能数据。
- 点选 Instruments 面板中的 Allocations 来查看 HelloWorld
的内存分配情况。
举个例子,跟踪面板会随着内存的每一次分配而产生变化,你可以看到应用运行中内存分配的频率。(如果在跟踪面板中发现有一个明显突起的位置,就说明这里可能存在潜在的瓶颈问题,你要么可以通过预先分配内存来缓和一下,要么可以先不处理其他内存块。)
管理应用的版本
如果发现修改了某些代码之后出了问题,利用 Xcode
快照(snapshot)功能就可以轻松恢复工程到之前的状态,甚至已删除的工程也可以。快照会保存当前工程的所有状态到磁盘上,以备之后进行恢复。Xcode
的工程管理器中列出了所有可用的快照。
你可以随时手动创建快照,也可以让 Xcode 根据场合自动创建快照,例如每次构建之前或通过查找并替换修改代码之前等。
如何在你的工程中创建和恢复快照…
- 在 HelloWorld 工程开启的状态下,点选 File > Create Snapshot。
- 输入此快照的名称和描述。
- 点按 Create Snapshot。
此快照就会出现在工程管理器中了。要恢复到此快照,请点选 File > Restore
Snapshot。
源代码控制管理(SCM)
能够提供比快照更加细致入微的变更跟踪管理。(如果你在团队中与他人协同工作,源代码控制管理还能帮你提高团队效率。)SCM
系统会在磁盘中对每个文件保存多个版本,并存储各个文件各个版本的元数据到 SCM 仓库中。
Xcode 支持两种流行的 SCM 系统:Git 和 Subversion。Xcode 包含了一个版本编辑器,无论使用哪种 SCM
系统都可以轻松对比保存在仓库中文件的不同版本。如果你发现代码中出现了漏洞,则可以将最新的版本和之前的某个正常运行的版本拿来比较,让你捉出产生问题的“臭虫”。
分发和发布应用
Xcode 能够让你轻松地将尚未正式发布到 App Store 的应用分享给测试者们。要分发应用,请在方案编辑器中创建一个应用归档。然后就可以使用
Xcode 的归档管理器来让测试者们分享你的应用。
当你准备正式发布应用的时候,可以先使用归档管理器来评估一下你的应用能否达到 App Store
审核的标准。这项评估能够通过则可以保障正式审核过程尽可能地快速。然后就可以在 Xcode 正式向 App Store 提交你的应用了。
在本路线图稍后的文章“准备提交到 App Store”里,会更加详细地向你讲解关于分发和发布应用的过程。
相关推荐
使用 Xcode,可以快速创建、编译和运行 Mac 应用程序。 二、设置公司名称 在创建新文件时,Xcode 会为我们提供默认的文件头部注释,其中包括公司名称。但是,这个公司名称是不知道的,我们需要自己设置。可以使用 ...
它自动配置您的应用程序以使用最新的苹果服务、 管理统一的资产目录中的图像,并可帮助您设计令人惊叹的接口为 7 的 iOS 和 OS X。它也容易地分析您的代码、 监视性能,并测试您的应用程序,并对持续集成的访问与...
PBXProjectHelper是一个基于Python开发的,目的用于解析和操作PBXProject(XCode项目的配置文件)的工具类库。其提供了非常简单的方法来让开发者对XCode项目进行文件、类库以及项目...从而达到自动化维护和管理的目的。
java班级管理源码xcode 工具项目计划成为 xcode 工具的集合。 现在,它包含以下工具: ####1。 代码片段管理。 它用于管理 xcode 中的片段。 默认代码片段存储在 ~/Library/Developer/Xcode/UserData/CodeSnippets/ ...
Localizations是一个OS X应用程序,用于管理Xcode项目的本地化文件(.strings)。 它着重于使.strings文件与代码(NSLocalizedString)和UI文件(storyboards&xib)保持同步。 它是丢失的链接,可以防止过时的键...
XCODE-包管理器+项目生成器 这是一个使用Go及其包管理器与C ++或C#包一起使用的项目生成器。 包的结构在Go中定义,并且可以为Visual Studio,.sln,.vcxproj和.filters生成文件。 任何C ++外部依赖项(如Boost,...
IPhone 上的信息管理程序,能够实现增删改查,搜索功能,实现了视图切换
我们iOS项目的开发工具Xcode本来就集成了Github的代码控制,所以非常方便,今天我们就学习如何利用xcode直接进行代码管理,按照下面的5步轻松完成项目和GitHub链接。 1 注册GitHub账号 显然,如果我们需要将代码...
很棒的Xcode插件很棒的Xcode插件可提高您的工作效率:) 在这里,我将与您分享一些我每天都使用的漂亮插件。 随时分享您的插件和反馈。 在开始列出之前,我建议您使用 :Xcode的软件包管理器。 [NEW] 一个Xcode插件,...
用ios实现的学生成绩管理小程序,编译环境是xcode8.3,可以直接运行
简而言之:从Xcode 11.4开始,看来您的项目将仅使用.static库,并且如果您的库在项目中存在两次或多次(使用同一库的2个不同目标,例如iOS应用程序目标及其今日小部件)。您可能会导致静态库重复。我怀疑是Xcode ...
阿里修改java源码XCFit 项目详情 XCFit 持续集成状态 ...包管理器上使用。 重要说明:XCFit 不支持 macOS 应用程序。 XCFit XCFit 功能 您现在可以在 Xcode 中编写 Given When Then (Gherkin)、预定义
厌倦了这个Xcode图标始终在您的应用程序开关中多次显示,而没有帮助您了解当前使用的是哪个版本? 好吧,没有更多! 不推荐使用 由于Xcode 8及其新的扩展系统+代码签名,此插件停止工作,因此我不打算对其进行修复:)...
实验的开发环境:XCode4.5.2先下载一个实现准备好的内存泄露的Demo吧:leakapp下载下来,打开运行,程序是一个寿司的列表,列出各种寿司卷。试着选择里面的几行,应该是选第二行的时候就崩溃了。崩溃截图:在崩溃的...
基于Xcode的蓝牙数据收发控制及分析软件是一款专为iOS设备开发的应用程序,它能够通过蓝牙技术与其他设备进行数据的传输和交换。该应用程序主要包含两个核心功能:蓝牙数据收发控制和数据分析。 蓝牙数据收发控制...
xcassets 用于管理 Xcode 资产目录的 Node.js 实用程序
您是刚刚完成一个项目...使用packagesbuild命令行工具可以很容易地将软件包集成到自动化生产工作流程中。创建Packages项目后,packagesbuild工具将允许您从终端,shell脚本或Xcode Run Script Build阶段对其进行构建。
下面就简单介绍下怎么使用Xcode7自带的Instruments中的Leaks检测我们的程序有没有内存泄露和定位内存泄露的代码.(分析内存泄露不能把所有的内存泄露查出来,有的内存泄露是在运行时,用户操作时才产生的) ...
XBotBuilder Mac OSX 应用程序来管理 Xcode 机器人的 github 拉取请求 学分 Geoff Nix 和代码 爱德华·博特曼的机器人
Swift设置管理器设置管理器使用Swift 2,Xcode 7,iOS 9构建。概述基于Swift的Settings Manager演示应用程序。 它使用SettingsManager.swift单例类,该类可以从设备本地存储(即NSUserDefaults读取/写入设置。 它由...