《iOS 8应用开发入门经典(第6版)》——第1章,第1.3节运行iOS应用

简介:

本节书摘来自异步社区《iOS 8应用开发入门经典(第6版)》一书中的第1章,第1.3节运行iOS应用,作者 【美】John Ray(约翰 雷),更多章节内容可以访问云栖社区“异步社区”公众号查看

1.3 运行iOS应用
iOS 8应用开发入门经典(第6版)
获得Apple开发人员资格、加入付费的开发人员计划、下载并安装iOS开发工具后,您仍无法在设备上运行您编写的应用程序!为什么呢?因为您还没有创建开发供应配置文件(provisioning profile)。

警告:
只有付费的开发人员账户能够执行下面的步骤。如果您只有免费的开发人员账户,也不用烦恼。在您为成为付费成员做好准备前,可使用iOS模拟器来测试自己开发的应用程序。在这种情况下,请直接跳到“启动应用”一节。
在很多开发指南中,都在开始开发后才介绍这个步骤。在我看来,编写应用程序后您将希望能马上在设备中运行它。为什么?因为看到编写的代码在自己的iPhone或iPad上运行太爽了!

1.3.1 什么是开发供应配置文件
当前,Apple对iOS开发过程进行了控制,禁止开发小组将软件随便发布给任何人。其结果是,通过一个令人迷惑的过程将有关您(任何开发小组成员)和应用程序的信息加入到供应配置文件中。

开发供应配置文件标识了开发应用程序的开发人员,并包含应用程序ID以及将运行该应用程序的每台设备的唯一设备标识符。这种供应配置文件只能用于开发过程。为通过App Store发布应用程序或通过ad hoc发布给一组测试人员(或朋友)做好准备后,需要创建一个发布配置文件(distribution profile)。由于您刚涉足iOS开发,因此现在还不需要发布配置文件。

1.3.2 配置用于开发的设备
以前,创建仅用于开发过程的供应配置文件令人沮丧且耗时,这个过程是在iOS开发网站的Provisioning Portal部分完成的。在最新的Xcode版本中,Apple极大地简化了这个流程,使其非常简单,您只需将Apple ID加入Xcode,就可运行应用。

首先,启动Xcode,并选择菜单Xcode>Preferences加载首选项。在窗口Preferences中,单击按钮Accounts。单击左下角的按钮+,并从出现的菜单中选择Add Apple ID。在出现的对话框中,输入您的Apple ID,如图1.9所示,再单击Add按钮。完成后关闭Preferences窗口。

接下来,确保将设备连接到了计算机,再选择菜单Window>Devices。窗口最左栏的Devices部分应列出了您的iOS设备,如图1.10所示。在这里看到您的设备后,就说明准备就绪了!当您在iDevice上运行应用时,Xcode将自动为您创建所有的供应配置文件和证书。


3976fab087d373a37b8940f853c45c07c3751bcb

在后台,您可能想知道在设备上运行应用时发生的情况,这里大致地说一下。Xcode将向iOS developer portal添加一个唯一的标识符。该标识符标识了您的身份,并用于对您生成的应用程序进行数字签名,这被称为签名身份(signing identity)。它还向Apple注册您的设备,使其能够运行您开发的应用程序(以及iOS测试版)。

Xcode将继续与Apple通信,以创建开发配置文件和唯一的应用程序ID,其中开发配置文件名为iOS Team Provisioning Profile。应用程序ID标识了iOS设备密钥链的共享部分,而您的应用程序有权访问这部分。

密钥链是iOS设备的一个安全信息存储区,可用于存储密码和其他重要信息。大多数应用程序都不共享密钥链空间,因此不能共享受保护的信息。然而,如果多个应用程序都使用相同的应用程序ID,它们将能够共享密钥链数据。

就本书而言,没有理由不让其中的示例应用程序共享一个应用程序ID,因此让Xcode为您生成ID即可。实际上,Xcode将创建一个“通用”应用程序ID,适用于您使用Team Provisioning Profile创建的每个应用程序。

最后,Apple的服务器将根据这些信息以及连接的iOS设备的唯一标识符,给Xcode提供一个完全的供应配置文件。这样,首次在该iOS设备上运行应用时,Xcode就会透明地将配置文件上传到这台设备。

注意:
加入Apple Mac开发人员计划时,也将创建并维护类似的配置文件,用于将应用程序发布到Mac App Store。最大的差别在于,不同于iOS应用,可在任何计算机上运行Mac应用程序。在Mac开发人员计划中,证书用于将应用程序发布到App Store以及测试Apple托管的服务(如Game Center和iCloud)集成。在iOS开发中,要在除iOS模拟器之外的其他设备上运行软件,必须安装合适的证书。

提示:
配置好一台用于开发的计算机后,就可导出签名身份和供应配置文件,进而轻松地配置其他工作站。为此,可选择菜单Xcode>Preferences打开Xcode首选项对话框,再单击工具栏中的Accounts图标。然后,单击账户列表底部的齿轮图标,并选择Export Accounts。这个选项将所有的开发配置文件和证书导出为一个包;还有一个Import Accounts选项,用于导入开发配置文件和证书。

1.3.3 启动应用
为iOS开发做好准备后却没有任何回报看起来不值得,不是吗?为对您所做的工作进行测试,下面尝试在您的iOS设备上运行一个应用程序。如果还没有下载项目文件,现在是访问http://teachyourself-
iOS.com并下载归档的绝佳时机。

提示:
如果您觉得心里没底,http://teachyourselfiOS.com提供了一个教程,介绍了Xcode源代码控制方面的基本知识,包含如何连接到一个代码仓库,其中提供了本书所有示例项目的最新版本。
下面来运行这个应用程序。

1.在文件夹Hour 1/Projects中,选择文件夹iPad或iPhone,再打开文件夹Welcome,然后双击Welcome.xcodeproj在Xcode中打开一个简单的应用程序。打开该项目后,Xcode界面应该如图1.11所示。


154c4040937c62d5a9747ad2325501a09f58416a

2.确保将您的iOS设备连接到了计算机。

3.从Xcode窗口左上角的下拉列表Scheme选择您的iOS设备,如图1.12所示。这告诉Xcode生成项目时将其安装到该设备,而不是在模拟器中运行。如果您没有加入付费的开发人员计划,请根据您使用的项目版本选择相应的模拟器。

通常只能看到可运行当前应用程序的模拟器(iPhone Simulator或iPad Simulator),但在图1.12中,显示了所有的模拟器。当您使用的是针对iPhone的应用程序(它可在iPhone和iPad上运行)或通用应用程序(这将在本书后面更详细地介绍)时,将出现这种情况。这个屏幕截图是使用该项目的iPhone版本截取的,因此能够看到所有的模拟器。


6fc13836eae21ac6def8c3b5d865b67380cb7823

4.确保您的设备已解锁,再单击Xcode工具栏左端的Run按钮,几秒钟后,该应用程序将安装到设备并在其中启动。图1.12显示了该应用程序在iPhone 6中的样子。

5.单击Xcode工具栏中的Stop按钮退出该应用程序。现在可以退出Xcode了,本章不会再使用它。

当您单击Run按钮时,应用程序Welcome将安装到您的iOS设备并在其中启动。它将一直保留在该设备中,直到您手工将其删除。为此,只需按住Welcome图标直到它开始摇摆,然后像删除其他应用程序那样将其删除。开发证书将在120天后过期,到时使用该开发证书安装的应用程序也将停止工作。


4db690e90db48bebf4c537f0e3deb0a47f9392a3

提示:!
如果您试图在开发账户中没有配置的iOS设备上运行应用,Xcode将尝试为您修复问题。为此,只需在提示时单击Fix,警告将有望消失。

查看供应配置文件

在您的设备上运行应用后,便可查看其中安装的供应配置文件。为此,可选择菜单Window>
Devices打开Devices窗口,再右击您的设备并选择Show Provisioning Profiles。这将打开一个对话框,其中包含为您自动创建的iOS Team Provisioning Profile,如图1.14所示。

且慢,我有多台iOS设备!

前面讨论了如何配置单台用于测试的设备,但如果要将应用程序安装到多台设备,该如何办呢?没有问题,只需将其他设备连接到计算机,并运行应用程序!这将自动配置它们。

Apple允许您的账户在1年之内包含100台不同的设备,因此如果要进行大量的内部开发测试,务必明智地注册设备。

相关文章
|
1月前
|
Android开发 Swift iOS开发
iOS和安卓作为主流操作系统,开发者需了解两者差异以提高效率并确保优质用户体验。
【10月更文挑战第1天】随着移动互联网的发展,智能手机成为生活必需品,iOS和安卓作为主流操作系统,各有庞大的用户群。开发者需了解两者差异以提高效率并确保优质用户体验。iOS使用Swift或Objective-C开发,强调简洁直观的设计;安卓则采用Java或Kotlin,注重层次与动画。Swift和Kotlin均有现代编程特性。此外,iOS设备更易优化,而安卓需考虑更多兼容性问题。iOS应用仅能通过App Store发布,审核严格;安卓除Google Play外还可通过第三方市场发布,审核较宽松。开发者应根据需求选择合适平台,提供最佳应用体验。
58 3
|
1月前
|
设计模式 安全 Swift
探索iOS开发:打造你的第一个天气应用
【9月更文挑战第36天】在这篇文章中,我们将一起踏上iOS开发的旅程,从零开始构建一个简单的天气应用。文章将通过通俗易懂的语言,引导你理解iOS开发的基本概念,掌握Swift语言的核心语法,并逐步实现一个具有实际功能的天气应用。我们将遵循“学中做,做中学”的原则,让理论知识和实践操作紧密结合,确保学习过程既高效又有趣。无论你是编程新手还是希望拓展技能的开发者,这篇文章都将为你打开一扇通往iOS开发世界的大门。
|
1月前
|
搜索推荐 IDE API
打造个性化天气应用:iOS开发之旅
【9月更文挑战第35天】在这篇文章中,我们将一起踏上iOS开发的旅程,通过创建一个个性化的天气应用来探索Swift编程语言的魅力和iOS平台的强大功能。无论你是编程新手还是希望扩展你的技能集,这个项目都将为你提供实战经验,帮助你理解从构思到实现一个应用的全过程。让我们开始吧,构建你自己的天气应用,探索更多可能!
62 1
|
5天前
|
Android开发 Swift iOS开发
探索iOS与安卓应用开发的差异性
探索iOS与安卓应用开发的差异性
21 2
|
8天前
|
Swift iOS开发 UED
如何使用Swift和UIKit在iOS应用中实现自定义按钮动画
本文通过一个具体案例,介绍如何使用Swift和UIKit在iOS应用中实现自定义按钮动画。当用户点击按钮时,按钮将从圆形变为椭圆形,颜色从蓝色渐变到绿色;释放按钮时,动画以相反方式恢复。通过UIView的动画方法和弹簧动画效果,实现平滑自然的过渡。
23 1
|
17天前
|
Swift iOS开发 UED
如何使用Swift和UIKit在iOS应用中实现自定义按钮动画
【10月更文挑战第18天】本文通过一个具体案例,介绍如何使用Swift和UIKit在iOS应用中实现自定义按钮动画。当用户按下按钮时,按钮将从圆形变为椭圆形并从蓝色渐变为绿色;释放按钮时,动画恢复原状。通过UIView的动画方法和弹簧动画效果,实现平滑自然的动画过渡。
40 5
|
25天前
|
Java Android开发 Swift
掌握安卓与iOS应用开发:技术比较与选择指南
在移动应用开发领域,谷歌的安卓和苹果的iOS系统无疑是两大巨头。它们不仅塑造了智能手机市场,还影响了开发者的日常决策。本文深入探讨了安卓与iOS平台的技术差异、开发环境及工具、以及市场表现和用户基础。通过对比分析,旨在为开发者提供实用的指导,帮助他们根据项目需求、预算限制和性能要求,做出最合适的平台选择。无论是追求高度定制的用户体验,还是期望快速进入市场,本文都将为您的开发旅程提供有价值的见解。
|
1月前
|
物联网 vr&ar Android开发
掌握安卓与iOS应用开发:核心技术与未来趋势
本文深入探讨了安卓和iOS应用开发的核心技术,包括开发环境、主要编程语言、常用框架以及性能优化技巧。同时,文章还展望了两大平台未来的发展趋势,如人工智能、增强现实和物联网的集成,为开发者提供全面的技术参考和发展指引。
|
11天前
|
开发工具 Android开发 Swift
探索iOS与安卓应用开发的异同点
【10月更文挑战第24天】本文通过比较iOS和安卓开发环境,旨在揭示两大移动平台在开发过程中的相似性与差异性。我们将探讨开发工具、编程语言、用户界面设计、性能优化及市场分布等方面,以期为开发者提供全面的视角。通过深入浅出的分析,文章将帮助读者更好地理解每个平台的独特之处及其对应用开发的影响。
|
1月前
|
安全 Android开发 iOS开发
深入解析:安卓与iOS的系统架构及其对应用开发的影响
本文旨在探讨安卓与iOS两大主流操作系统的架构差异,并分析这些差异如何影响应用开发的策略和实践。通过对比两者的设计哲学、安全机制、开发环境及性能优化等方面,本文揭示了各自的特点和优势,为开发者在选择平台和制定开发计划时提供参考依据。
50 4