2.4 搭建iOS开发环境

迄今为止,iOS只支持在苹果的Mac OSX操作系统下进行开发。因此,对于大部分开发者而言,一台基于Intel的苹果电脑仍然是必需的——无论是Mac Book还是Mac Mini都能满足开发的需要。当然,也可以在非苹果的电脑上安装Mac OS X,正如下面介绍的,借助于硬件虚拟化技术的支持,可以在虚拟机中安装Mac OS X。
此外,需要下载并安装苹果的iOS开发工具包(Software Development Kit,SDK)。这是一个应用程序集合,包括了用于创建iOS应用程序所必需的IDE、API库及实用工具。
最后,你可能需要在苹果官方网站进行注册。虽然这不是必需的,但如果不这样做的话,你可能无法将你的程序安装到设备上运行。

2.4.1 安装Mac OS X操作系统

自从2007年年底苹果公司正式发布代号为Leopard的Mac OS X 10.5开始,一种叫做“Hacked Apple”——把Mac OS安装到PC上的技术就成为了现实。仅仅在Leopard正式上市后的第二天就有高手将其成功破解,使用几个补丁文件便能让Leopard安装到普通的电脑上。
由于Mac OS X本身对PC硬件的支持十分有限,在普通PC和笔记本电脑上安装Hacked Apple极其不易。尽管网络上存在有各种破解补丁、硬件驱动,甚至破解好的镜像文件,要想在一台非苹果电脑上“啃”一嘴苹果仍然是被戏称为“拼人品”,网上有着无数失败的先例。
有鉴于此,笔者并不建议初学者在非苹果PC上安装Mac OS X操作系统,与浪费了的无数精力和时间相比,所获得的好处实在不足以称道。如果实在是无法接受苹果电脑的高端价格,那么你可以尝试另一种在PC上安装Mac系统的方式——在虚拟机中安装——幸好我们还有虚拟机,无论是VMWare,还是VirtualBox。
在虚拟机中安装Mac拥有以下好处:在Windows系统和Mac系统间切换不需要重启;在虚拟机中安装避免了硬件驱动不支持的问题,因为不需要安装硬件驱动程序;使用虚拟机安装有更高的成功率。
以下以笔者的华硕X42J笔记本为例,演示如何在VirtualBox中安装Mac Snow Leopard OS X 10.6.5(支持i3/i5/i7)。
1.推荐硬件配置
原则上,CPU必须支持SSE2/SSE3和硬件虚拟技术。如果不能确定CPU是否支持硬件虚拟,可以运行SecurAble进行测试,出现如图2-4所示的对话框即为支持。
以下列出笔者的笔记本硬件配置,以供参考:
电脑型号——华硕K42JE笔记本电脑
处理器——英特尔 Core i3 M350 @ 2.27GHz 笔记本处理器
主板——华硕 K42JE(英特尔 HM55 芯片组)
内存——2GB(海力士 DDR3 1333MHz)

主硬盘——希捷 ST9320423AS(320 GB / 7200 转/分)
显卡——ATI Mobility Radeon HD 5470(512 MB)
光驱——日立-LG DVDRAM GT32N DVD刻录机
声卡——瑞昱 ALC269 @ 英特尔 5 Series/3400 Series Chipset
网卡——智微 JMC25X PCI Express Gigabit Ethernet Adapter
2.准备使用的工具
虚拟机Virtual Box的下载地址:http://u.115.com/file/t54cd05734。
破解版的Mac OS X,iAntares OSx86 10.6.5 v3.2 繁简英整合版(2010年12月12日更新),下载地址:http://www.ed2000.com/ShowFile.asp?FileID=255645。
3.安装过程
打开Virtual Box,点击工具栏上的“新建”按钮,弹出“新建虚拟电脑”向导,选择操作系统类型为Mac OS X及Mac OS X Server,并为虚拟机设置一个名称(比如Snow Leopard),如图2-5所示。

点击“下一步”按钮,设置虚拟机使用的物理内存,请至少选择1GB(如图2-6所示)。

在选择虚拟磁盘时,选择“创建新的虚拟硬盘”。为了取得更好的性能,虚拟硬盘类型选择“固定大小”(如图2-7所示)。

虚拟硬盘容量至少设定为30GB,并保证文件存放位置的可用空间是足够的(如图2-8所示)。

点击“下一步”按钮,直至安装结束。
选择刚才创建的虚拟机Snow Leopard,点击工具栏中的“设置”按钮,在弹出的虚拟机设置窗口左侧面板中选中“系统”,“启动顺序”选择“光驱、硬盘”,然后取消“启用EFI”选项,如图2-9所示。

选择左面板中“显示”项,将“显存大小”调为最大,然后选择“启动3D加速”选项(如图2-10所示)。

好的,虚拟机配置完成了,下面的步骤是安装Snow Leopard。
在虚拟机设置窗口中,选择Storage,在IDE控制器中添加一个虚拟光驱,然后为这个虚拟光驱添加一个盘片,把iAntares OSx86 10.6.5 v3.2的iso文件镜像加载进去(如图2-11所示)。
关闭设置窗口,双击虚拟机Snow Leopard启动虚拟机。如果顺利,虚拟机会用iAntares_v3.iso进行引导,并进入Snow Leopard的安装界面。选取中文作为安装语言,然后从菜单“实用工具”中打开“磁盘工具”。

在磁盘工具点击标签栏的“抹掉”,对磁盘进行格式化。文件系统格式为Mac OS扩展(日志式),然后点击按钮“抹掉”按钮(如图2-12所示)。

格式化完成后,选择格式化的磁盘作为安装目标,同时点击“自定”按钮。
在接下来的自定义安装界面中,“启动选项”除了后面3项以外全部选中,硬件驱动全部不需要选(虚拟机已经带硬件驱动),引导器选择变色龙RC4 r684而不是RC5 r653,其余选项随意设置或保持默认值(如图2-13所示)。
这个步骤是整个安装中最重要的步骤,也许需要尝试很多次才知道最适合机器的设置。这个过程中需要不断地修改启动选项并重启,甚至可能会出现几次蓝屏。但在虚拟机中安装的好处就在于,除了出现蓝屏以外,都不需要按电源或Reset键,虚拟机重启的速度比硬启动要快许多。
这个步骤完成后就是缓慢的安装进度了,这需要一些时间,请耐心等候。
安装完成后,可能会出现“安装失败”的提示,不必惊慌,重启虚拟机后,会发现虚拟机引导菜单上多了一个snow leopard的引导选项,这个就是我们安装成功的Mac OS操作系统,另一个是安装光盘(如图2-14所示)。

用方向键把光标移动到snow leopard上,回车,变色龙开始从Mac OS进行引导。
启动后进入Snow Leopard桌面。由于某些Bug,在这个桌面工具栏上会有3个图标显示为问号(如图2-15所示),当然如果为了美观,完全可以删除它们。
需要注意的是,如果Mac提示安装版本更新,请不要轻易更新系统,否则你可能进不了系统。因为破解的Mac OS X系统对系统内核进行了修改,如果升级的话有可能导致系统文件再次被覆盖,导致系统无法正常引导。
接下来需要下载iOS SDK,并在Mac下进行安装。

2.4.2 下载安装SDK

每一个在苹果网站上注册了iPhone开发人员计划的程序员,都可以登录到以下地址下载最新版本的iOS SDK
这是一个几个GB(根据版本不同)的Mac安装镜像文件,里面包括如下内容:
Xcode集成在SDK中一起发布,它支持苹果的Objective-C语言,也支持C和C++代码。我们将在第4章介绍它的使用。
Interface Builder用于创建程序的GUI,它和Xcode集成在一起,也可以单独启动。在本书很多地方仍然使用了它,第5章将对Interface Builder进行介绍。
iPhone模拟器可以在Mac中调试iOS应用程序,它的外观和真实的iPhone/iPad设备一模一样。使用它调试程序,比在真实设备中更方便快捷。在后面的章节中,会大量使用这个工具调试程序。
Dashcode也是/Developer/Applications中的一部分,它是用于创建Web应用的优秀、极为精巧的图形开发环境,本书中不会使用到它。
双击下载后的文件,把SDK安装到Mac上。
接下来,创建我们的第一个iOS应用程序,以此检验我们的开发环境已配置成功。

《企业级ios应用开发实战》一2.4 搭建iOS开发环境相关推荐

  1. linux pip3使用清华源_Linux实战016:Ubuntu搭建python开发环境

    我们在安装Ubuntu系统的时候会自带安装python2.7和python3.6版本的Python解释器,直接执行"ptyhon"默认运行的是python2.7,只有执行" ...

  2. 电商系统开发实战-用户微服务基础模块开发

    电商系统开发实战-用户微服务基础模块开发 1.用户微服务项目开发之收货地址查询接口开发 1.1 配置文件配置 application.yml server:port: 9001spring:appli ...

  3. android趣味项目,AndroidStudio项目开发实战——从基础入门到趣味开发

    AndroidStudio项目开发实战--从基础入门到趣味开发 编辑 锁定 讨论 上传视频 <AndroidStudio项目开发实战--从基础入门到趣味开发>是2020年3月电子工业出版社 ...

  4. 【鸿蒙OS开发入门】16 - 重头搭建Ubuntu新环境编译OpenHarmony 3.0 LTS

    [鸿蒙OS开发入门]16 - 重头搭建Ubuntu新环境编译OpenHarmony 3.0 LTSv 一.配置Telnet 和 samba 二.下载code-v3.0-LTS.tar.gz源码 三.配 ...

  5. 《企业级ios应用开发实战》一1.3 iOS企业应用程序的发布

    1.3 iOS企业应用程序的发布 除了上述特点,iOS企业应用还有一个显著的特点,就是应用程序的发布方式.iOS企业应用具有两种发布方式:In-House和Ad-Hoc,它们并不经过苹果公司的App ...

  6. Flutter完整开发实战详解(二、 快速开发实战篇) | 掘金技术征文

     作为系列文章的第二篇,继<Flutter完整开发实战详解(一.Dart语言和Flutter基础)>之后,本篇将为你着重展示:如何搭建一个通用的Flutter App 常用功能脚手架,快速 ...

  7. C#开发实战视频教程_基于多线程C#开发QQ农场

    基于多线程的C#版QQ农场(图形图像,文件和流,多线程,Web服务) 课程分类:.Net 适合人群:初级 课时数量:35课时 用到技术:文本编辑器的实现.图形图像编程.多线程编程.文件和流 涉及项目: ...

  8. 超全 泛微 E9 Ecology 9开发资料大全 开源资源下载 泛微E9二次开发 泛微开发实战经验 泛微开发实战例子 泛微二次开发项目例子 泛微二次开发Demo 泛微二次开发完整例子 泛微二次开发入门

            由于工作需要,E9在泛微一推出来,以前所在的企业就第一时间上线了,经过四年多的运行,功能强大再加上在上面开发非常多的业务,一般的企业员工只需要打开泛微就可以处理完平时信息化的业务.后来 ...

  9. react安装_「React实战」三分钟搭建React开发环境

    其实16年的时候就已经接触到React,那个时候也只是入门,时隔多年,工作上一直都没有接触到相关的业务,不知不觉,前端的天也开始渐变,看到 了很多招聘要求上都是要求会React,三大框架怎么也得熟悉使 ...

  10. 鼎捷ERP二次开发教程 Tiptop GP开发资料大全 Tipto开发实战经验 鼎捷开发实战例子 Tiptop GP二次开发项目例子 4GL开发Demo 鼎捷二次开发完整例子 鼎捷ERP二次开发入门

    本人在ERP实施公司做顾问四五年,参与企业实施ERP十多个项目,非常熟悉企业ERP流程,在实施过程遇到众多问题,提出了不少根据企业具体情况的解决方案. 曾经参与鼎捷Tiptop GP实施十多个项目,具 ...

最新文章

  1. 浅谈 Math.BigMul 方法
  2. 进阶学习(3.6) Prototype Pattern 原型模式
  3. 浙大月赛C题(2012/8)Cinema in Akiba(线段树)
  4. miller_rabin 证明与实现
  5. 开源贡献 计算_公司如何帮助员工为开源做出贡献
  6. Java基础系列13:JDBC批处理简介
  7. fork()和多线程
  8. c语言 机器语言 汇编语言_多语言机器人新闻记者
  9. python:ValueError: numpy.ufunc size changed, may indicate binary incompatibility. Expected 216 from
  10. 记录红米k40解BL、Root、装XPOSED
  11. 个人收藏机器学习教程
  12. 每天1个吃核桃让你年轻5岁
  13. FFmpeg学习(音视频理论知识)
  14. 360浏览器强制使用极速模式
  15. SQL注入之什么是加密注入|二次漏洞注入|DNSlog注入
  16. Java Swing入门
  17. java入门好学吗_java好学吗?我是小白中的小白,零基础...
  18. 【Benewake(北醒) 】中距 TF02-Pro 40m介绍以及资料整理
  19. web前端——表单注册页面设计(注册信息)
  20. tp6查询某个字段不等于null

热门文章

  1. Codeforces 662C
  2. CDH的 Phoenix、hbase操作
  3. 人工智能数学基础--概率与统计2:排列组合的表示方法、二项式系数及斯特林近似
  4. 高一凡-数据结构第3章-栈与队列
  5. 上海交大计算机音乐,指挥系优秀学子孙一凡执棒上交
  6. java下发命令nbiot,NB物联网之天翼物联(3)——编解码插件上传规则细解(java开发物联网)...
  7. jdk8-时间API
  8. wegame饥荒一直登录中_WeGame到底有多难用?“LOL大神自己编写一个插件,完美代替WG”...
  9. FANUC机器人密码的解除方法
  10. arcgis android gif,一种基于动态地图符号的移动GIS可视化方法与流程