当前位置 > 主页 > 万和大讲堂 >


在iOS开发培训中 Simulator中运行iOS应用程序

2015-08-06 11:14

在学习完《iOS 应用程序开发教程:一、创建新项目》一文后,你已经创建好了一个新 Xcode 项目,我们接下来要做的就是在 Simulator 中运行你的应用程序。

1.确定在 Xcode 工具栏的“Scheme”弹出式菜单中选定“HelloWorld”>“iPhone 6.0 Simulator”选项。

如果弹出式菜单中该选项未被选定,请把它打开,然后从菜单中选取“iPhone 6.0 Simulator”。

2.点按 Xcode 工具栏中的“Run”按钮,或选取“Product”>“Run”。

Xcode 会报告生成的进度。南京iOS开发培训

Xcode 完成生成项目后,Simulator 应该会自动启动。因为你指定的是 iPhone 产品而非 iPad 产品,Simulator 会显示一个看起来像 iPhone 的窗口。在模拟的 iPhone 屏幕上,Simulator 打开你的应用程序,外观应该是这样的:

此刻,你的应用程序还不怎么样:它只显示一个空白的画面。要了解空白画面是如何生成的,你需要了解代码中的对象,以及它们如何紧密协作来启动应用程序。现在,退出 Simulator(选取“iOS Simulator”>“Quit iOS Simulator”;请确定你不是退出 Xcode)。

你的项目是基于 Xcode 模板开发的,所以运行应用程序时,大部分基本的应用程序环境已经自动建立好了。例如,Xcode 创建一个应用程序对象(以及其他一些东西)来建立运行循环(运行循环将输入源寄存,并将输入事件传递给应用程序)。该工作大部分是由 UIApplicationMain 函数完成的,该函数由 UIKit 框架提供,并且在你的项目的 main.m 源文件中自动调用。

注:UIKit 框架提供应用程序构建和管理其用户界面所需的全部类。UIKit 框架只是 Cocoa Touch 提供的面向对象的众多框架中的一个,而 Cocoa Touch 是所有iOS应用程序的应用环境。

关于iOS Simulator(推荐阅读:IOS模拟器怎么安装应用程序

iOS Simulator是颇为有用的一个工具,无须使用实际的iPhone/iPod Touch/ iPad就可以测试应用程序。iOS Simulator位于/Developer/Platforms/iPhoneSimulator.platform/ Developer/Applications文件夹中。通常不需要直接启动iOS Simulator—它在Xcode运行(或是调试)应用程序时会自动启动。Xcode会自动将应用程序安装到iOS Simulator上。南京iOS开发培训

iOS Simulator是个模拟器,但并非仿真器。这两者的区别是什么呢?模拟器会模仿实际设备的行为。iPhoneSimulator会模仿实际的iOS/iPad设备的真实行为。但模拟器本身却使用了Mac上的各种库(如QuickTime)进行渲染以便效果与实际的iPhone保持一致。此外,在模拟器上测试的应用程序会编译为x86代码,这是模拟器所能理解的字节码。实际的iPhone设备使用的则是ARM代码。

与之相反,仿真器会模仿真实设备的工作方式。在仿真器上测试的应用程序会编译为真实设备所用的实际的字节码。仿真器会把字节码转换为运行仿真器的宿主计算机所能执行的代码形式。南京iOS开发培训

下面这个比喻有助于理解模拟与仿真之间的细小差别:假设你要说服一个小孩玩刀子很危险。如果采用模拟的方式,你会假装用刀子划伤自己并痛苦地呻吟;如果采用仿真的方式,你真的会用刀子划伤自己。

对于iOS应用程序如何启动这个问题,我们会在稍后的章节中给大家做详细解释,敬请关注!


最近开班 more>
  • 全栈开发
  • 前端基础班
  • 软件测试
  • Java大数据开发工程师
  • 云原生精英班
  • 云网预科班
  • 开发课程基础班第三期
  • 开发课程基础班第二期
  • 开发课程基础班第一期
  • Java Web UI Python
  • CISP
  • HCIE-Datacom(HCIA,HCIP基础)
  • HCIP-Datacom(HCIA基础)
  • HCIA-Datacom(0基础)
  • HCIE-Datacom(HCIA,HCIP基础)
  • HCIP-Datacom(HCIA基础)
  • HCIA-Datacom(0基础)
  • OCM 12C
  • OCP 19C
  • RHCA
  • 脱产班
  • 脱产班
  • 脱产班
  • 脱产班
  • 脱产班
  • 脱产班
  • 脱产班
  • 脱产班
  • 脱产班
  • vip班
  • 考试计划
  • 脱产班
  • 脱产班
  • 脱产班
  • 双休班
  • 双休班
  • 双休班
  • 双休班
  • 业余班
  • 业余班
  • 10月16日
  • 10月14日
  • 10月9日
  • 10月30日
  • 10月21日
  • 10月8日10月8日
  • 10月28日
  • 10月21日
  • 10月8日
  • 随时开课
  • 11月10日
  • 11月25日
  • 10月28日
  • 10月14日
  • 11月2日
  • 10月26日
  • 10月26日
  • ——
  • 随时开课
  • ——
    • 姓 名 :
    • 电 话 :
    • 课 程 :

技术交流群

  • Java大数据交流群560819979加入
  • Python技术交流群595083299加入
  • Oracle技术交流群595119011加入
  • Web前端技术交流群604697610加入
  • Huawei技术交流群482919361加入
  • Redhat技术交流群587875348加入
  • UI设计技术交流群511649801加入
  • Cisco技术交流群596886705加入
  • IT运维技术交流群605888381加入