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

简介: 本节书摘来自华章出版社《企业级ios应用开发实战》一 书中的第2章,第2.4节,作者:杨宏焱,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

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)
screenshot

主硬盘——希捷 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所示。
screenshot

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

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

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

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

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

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

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

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

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

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应用程序,以此检验我们的开发环境已配置成功。

相关文章
|
1天前
|
缓存 Java 测试技术
【01】噩梦终结flutter配安卓android鸿蒙harmonyOS 以及next调试环境配鸿蒙和ios真机调试环境-flutter项目安卓环境配置-gradle-agp-ndkVersion模拟器运行真机测试环境-本地环境搭建-如何快速搭建android本地运行环境-优雅草卓伊凡-很多人在这步就被难倒了
【01】噩梦终结flutter配安卓android鸿蒙harmonyOS 以及next调试环境配鸿蒙和ios真机调试环境-flutter项目安卓环境配置-gradle-agp-ndkVersion模拟器运行真机测试环境-本地环境搭建-如何快速搭建android本地运行环境-优雅草卓伊凡-很多人在这步就被难倒了
14 3
【01】噩梦终结flutter配安卓android鸿蒙harmonyOS 以及next调试环境配鸿蒙和ios真机调试环境-flutter项目安卓环境配置-gradle-agp-ndkVersion模拟器运行真机测试环境-本地环境搭建-如何快速搭建android本地运行环境-优雅草卓伊凡-很多人在这步就被难倒了
|
2月前
|
Java 开发工具 Android开发
安卓与iOS开发环境对比分析
在移动应用开发的广阔天地中,安卓和iOS两大平台各自占据半壁江山。本文深入探讨了这两个平台的开发环境,从编程语言、开发工具到用户界面设计等多个角度进行比较。通过实际案例分析和代码示例,我们旨在为开发者提供一个清晰的指南,帮助他们根据项目需求和个人偏好做出明智的选择。无论你是初涉移动开发领域的新手,还是寻求跨平台解决方案的资深开发者,这篇文章都将为你提供宝贵的信息和启示。
45 8
|
3月前
|
Java 开发工具 Android开发
Android与iOS开发环境搭建全解析####
本文深入探讨了Android与iOS两大移动操作系统的开发环境搭建流程,旨在为初学者及有一定基础的开发者提供详尽指南。我们将从开发工具的选择、环境配置到第一个简单应用的创建,一步步引导读者步入移动应用开发的殿堂。无论你是Android Studio的新手还是Xcode的探索者,本文都将为你扫清开发道路上的障碍,助你快速上手并享受跨平台移动开发的乐趣。 ####
|
3月前
|
开发框架 前端开发 Android开发
Flutter 与原生模块(Android 和 iOS)之间的通信机制,包括方法调用、事件传递等,分析了通信的必要性、主要方式、数据传递、性能优化及错误处理,并通过实际案例展示了其应用效果,展望了未来的发展趋势
本文深入探讨了 Flutter 与原生模块(Android 和 iOS)之间的通信机制,包括方法调用、事件传递等,分析了通信的必要性、主要方式、数据传递、性能优化及错误处理,并通过实际案例展示了其应用效果,展望了未来的发展趋势。这对于实现高效的跨平台移动应用开发具有重要指导意义。
353 4
|
3月前
|
安全 Swift iOS开发
Swift 与 UIKit 在 iOS 应用界面开发中的关键技术和实践方法
本文深入探讨了 Swift 与 UIKit 在 iOS 应用界面开发中的关键技术和实践方法。Swift 以其简洁、高效和类型安全的特点,结合 UIKit 丰富的组件和功能,为开发者提供了强大的工具。文章从 Swift 的语法优势、类型安全、编程模型以及与 UIKit 的集成,到 UIKit 的主要组件和功能,再到构建界面的实践技巧和实际案例分析,全面介绍了如何利用这些技术创建高质量的用户界面。
72 2
|
3月前
|
JSON 前端开发 API
探索iOS开发之旅:打造你的第一个天气应用
【10月更文挑战第36天】在这篇文章中,我们将踏上一段激动人心的旅程,一起构建属于我们自己的iOS天气应用。通过这个实战项目,你将学习到如何从零开始搭建一个iOS应用,掌握基本的用户界面设计、网络请求处理以及数据解析等核心技能。无论你是编程新手还是希望扩展你的iOS开发技能,这个项目都将为你提供宝贵的实践经验。准备好了吗?让我们开始吧!
|
3月前
|
Swift iOS开发 UED
如何使用Swift和UIKit在iOS应用中实现自定义按钮动画
本文通过一个具体案例,介绍如何使用Swift和UIKit在iOS应用中实现自定义按钮动画。当用户点击按钮时,按钮将从圆形变为椭圆形,颜色从蓝色渐变到绿色;释放按钮时,动画以相反方式恢复。通过UIView的动画方法和弹簧动画效果,实现平滑自然的过渡。
96 1
|
4月前
|
Swift iOS开发 UED
如何使用Swift和UIKit在iOS应用中实现自定义按钮动画
【10月更文挑战第18天】本文通过一个具体案例,介绍如何使用Swift和UIKit在iOS应用中实现自定义按钮动画。当用户按下按钮时,按钮将从圆形变为椭圆形并从蓝色渐变为绿色;释放按钮时,动画恢复原状。通过UIView的动画方法和弹簧动画效果,实现平滑自然的动画过渡。
82 5
|
4月前
|
开发工具 Android开发 Swift
安卓与iOS开发环境的差异性分析
【10月更文挑战第8天】 本文旨在探讨Android和iOS两大移动操作系统在开发环境上的不同,包括开发语言、工具、平台特性等方面。通过对这些差异性的分析,帮助开发者更好地理解两大平台,以便在项目开发中做出更合适的技术选择。
|
4月前
|
开发工具 Android开发 iOS开发
深入解析安卓与iOS开发环境的优劣
【10月更文挑战第4天】 本文将深入探讨安卓和iOS两大主流移动操作系统的开发环境,从技术架构、开发工具、用户体验等方面进行详细比较。通过分析各自的优势和不足,帮助开发者更好地理解这两个平台的异同,从而为项目选择最合适的开发平台提供参考。
53 3

热门文章

最新文章

  • 1
    【03】仿站技术之python技术,看完学会再也不用去购买收费工具了-修改整体页面做好安卓下载发给客户-并且开始提交网站公安备案-作为APP下载落地页文娱产品一定要备案-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
  • 2
    【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
  • 3
    Cellebrite UFED 4PC 7.71 (Windows) - Android 和 iOS 移动设备取证软件
  • 4
    【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡
  • 5
    【01】噩梦终结flutter配安卓android鸿蒙harmonyOS 以及next调试环境配鸿蒙和ios真机调试环境-flutter项目安卓环境配置-gradle-agp-ndkVersion模拟器运行真机测试环境-本地环境搭建-如何快速搭建android本地运行环境-优雅草卓伊凡-很多人在这步就被难倒了
  • 6
    iOS8 中无需开源库的内置功能一览
  • 7
    iOS7应用开发7:自定义视图、手势操作
  • 8
    IOS小工具以及精彩的博客
  • 9
    Facebook SDK(iOS)初学讲解
  • 10
    iOS - Swift NSPoint 位置
  • 1
    【01】噩梦终结flutter配安卓android鸿蒙harmonyOS 以及next调试环境配鸿蒙和ios真机调试环境-flutter项目安卓环境配置-gradle-agp-ndkVersion模拟器运行真机测试环境-本地环境搭建-如何快速搭建android本地运行环境-优雅草卓伊凡-很多人在这步就被难倒了
    14
  • 2
    Cellebrite UFED 4PC 7.71 (Windows) - Android 和 iOS 移动设备取证软件
    28
  • 3
    【03】仿站技术之python技术,看完学会再也不用去购买收费工具了-修改整体页面做好安卓下载发给客户-并且开始提交网站公安备案-作为APP下载落地页文娱产品一定要备案-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
    34
  • 4
    【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
    29
  • 5
    【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡
    23
  • 6
    uniapp开发ios打包Error code = -5000 Error message: Error: certificate file(p12) import failed!报错问题如何解决
    143
  • 7
    【05】2025年1月首发完整版-篇幅较长-苹果app如何上架到app store完整流程·不借助第三方上架工具的情况下无需花钱但需仔细学习-优雅草央千澈详解关于APP签名以及分发-们最关心的一篇来了-IOS上架app
    235
  • 8
    app开发之安卓Android+苹果ios打包所有权限对应解释列表【长期更新】-以及默认打包自动添加权限列表和简化后的基本打包权限列表以uniapp为例-优雅草央千澈
    90
  • 9
    深入探索iOS开发中的SwiftUI框架
    145
  • 10
    ios样式开关按钮jQuery插件
    60