博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
IOS开发环境配置指南
阅读量:2385 次
发布时间:2019-05-10

本文共 5628 字,大约阅读时间需要 18 分钟。

本文旨在探索IOS开发环境搭建,分析技术需求、开发工具特点,为公司在该领域研发工作打下基础。

1.IOS开发环境搭建

1.1 Mac机开发环境搭建:

有一篇介绍环境搭建的文章,写的比较详细:

另外一篇文档介绍iphone开发环境搭建,可供参考

Mac机器上搭建开发环境非常非常简单,只需要下载所需软件,然后下一步...,下面详细介绍流程:

下载iPhone SDK, 注册为后可以免费获得

模拟器包含在iPhone SDK(注意,它真的是一个Simulator, 而不是Emulator.  模拟器里执行的指令是x86的指令,而不是手机上用的 ARM指令)

它不能保证精确的周期(cycle-accurate). 动画在模拟器上要比实际的设备要快所以,不要在模拟器上判断你的程序的性能.
不是所有的应用都可以在模拟器上运行比如加速度传感器就无法使用
不要提交那些你还没有在实际设备上测试过的应用到App Store
键盘可以作为文字输入鼠标可以作为点击和拖拉

iPhone SDK 3.1.3 的下载地址

http://adcdownload.apple.com/iphone/iphone_sdk_3.1.3__final/iphone_sdk_3.1.3_with_xcode_3.2.1__snow_leopard__10m2003a.dmg

发布时间: February 2, 2010

Leopard Build: 9M2809a
Snow Leopard Build: 10M2003a

iPhone SDK 3.1.3 includes the Xcode IDE, iPhone simulator, and a suite of additional tools for developing applications for iPhone and iPod touch.

安装好后可以在/Developer/Platforms/iPhoneSimulator.platform/Developer/Applications找到iPhone模拟器。

Developer Tools System Components - 开发者工具系统组建 包含了CHUD效能工具。此组件 位于/Developer下。

如果你使用的AMDCPU,  装了这个组件,可能会出现      自动提示关机,或者无法启动是与CHUD相关的两个kext引起的

安装时,只要将第二个安装选项(好像是CHUD)去掉就行(Developer Tools System)

安装iPhone SDK

1. iPhone sdk 的后缀名为.dmg,只要双击该文件,弹出一个对话框,点skip,这就看到里面有3个文件,分别是About iPhone SDK.pdf iPhone sdk.mpkg 、 Packages.

2. 双击iPhone sdk.mpkg,按引导到Custom Install onMacintosh HD那步

这时会看到iPhone SDK不可选,不知道是什么问题,不用害怕,下面有解决方案,我们是把可选的都选了,让所有的包都安装到默认的路径下。

注意: Developer Tools Essentials那个包的安装路径(默认为/Developer),等下安装iPhone SDK 时需要安装到同一路径下。

其实这一步已经安装好了Xcode3.1 了。

3. 安装iPhone SDK.

进入到刚才的前面.mdg包里面的Packages文件夹,即第一张图中的Packages文件夹,选择如下5个包逐个安装。各个包名均以iphone*开头。

注意:

要安装到和Developer Tools Essentials同一目录,即/Developer

如果已经安装到其他目录,可以不用重装。进入到安装目录,默认是/Platforms,然后复制 iPhone.platform iPhoneSimulator.platform 到 /Developer/Platform

请参阅

http://blog.csdn.net/dongfengsun/archive/2009/07/19/4361730.aspx

http://www.apple.com.cn/developer/iphone/ (在 iPhone OS 3.0 上进行开发)

以上内容摘自

1.2Mac机开发环境搭建

由于经济或者其他方面的原因,大多数开发者桌子上放的都不是苹果电脑,系统也不是Mac系统,据统计80%的开发人员使用windows操作系统,所以这里主要讲的是在安装windows系统的机器上搭建开发环境的过程。

在搭建开发环境之前,需要安装苹果的操作系统。

系统安装主要由以下几种方式:

1).首先我们介绍第一种方式,双系统安装(参见黑苹果教程):

双系统安装针对的是广大开发者最常使用的操作系统Windows系列,在安装windows系统的机器上安装Mac操作系统。

具体过程参见(.pdf);

还有一篇图文教程介绍比较详细。

Mac OS安装完成后,可以按照MacIOS开发环境搭建指南操作,构建iphone app开发环境。

2).然后是常用的虚拟机安装:

参见

以虚拟机的方式安装Mac系统,在虚拟机中安装IOS IDE(大多数开发者认为虚拟机开发app比较卡,建议使用双系统模式)

注意:安装Mac系统的虚拟机软件需要支持硬件虚拟化,建议选择vmware8.0

3).第三方开发的基于windows  iPhone SDK见附录A介绍。

4).其他操作系统IOS开发环境搭建 

PC机上安装Mac系统非常困难,虚拟机安装更是痛苦,所以安装Mac系统是搭建IOS开发环境最困难的一节。

以上内容介绍为了适应IOS开发环境安装Mac操作系统的过程指南,下面主要介绍IOS开发环境的特点,以及不同开发方式的介绍和比较。

2.IOS SDK介绍

2.1官方iphone SDK

官方发布的SDK附加了相当多的限制:开发者必须付99美金获取代码签名、程序无法在后台运行以及无法使用很多低级的API等等。虽然苹果宣称这种做法是为了提高安全性以及让开发者开发过程更简便快捷,但是无疑这也同样是被开发者诟病的问题所在(摘自网络)。

最新版本的iPhone SDK可以使用Interface Builder制作界面;环境搭建非常容易;需要代码签名以避免恶意软件。 

2.2:

这是一个完整的开发者工具套件,用于创建 MaciPhoneiPad应用程序。套件中包含Xcode IDE、性能分析工具、iOS仿真器、和最新的 Mac OS XiOS SDK

2.3开源环境:

开源工具链(“Open Source Toolchain”)是一些黑客及苹果爱好者通过对iPhone进行破解及修改,开发出的一套开发工具。这批黑客中的领军人物叫做Jonathan Zdziarski (/) ,他开发了第一个iPhone上的任天堂红白机模拟器。

总的来说,使用开源工具链开发App比较麻烦,目前不能使用Interface Builder制作界面;环境搭建相对繁琐。 

 

网上文章,虽然撰文时间比较早,但是指出了以上两者方式的区别,对我们IOS开发时选择工具和模式有指导意义。

3. IOS 开发人员需要什么样的技术?

用户可以在设备上运行两种不同类型的定制应用程序:Web应用程序和本地应用程序。

Web应用程序将HTML、层叠样式表以及JavaScript代码结合在一起,以此来实现具有交互性的应用程序,这些应用程序存在于web服务器,通过网络传送到用户设备上,并运行于Safari浏览器。

而本地应用程序则是直接安装在设备上,无需配备网络连接就可以运行。

那么开发web应用的技术,比如前台页面设计,后台数据库设计等技术都可以用到IOS开发中。

由于IOS支持的语言是Object-C,开发本地应用程序的人员需要了解掌握,除此之外,还需要能运用IOS IDE开发工具比如Interface Builder等开发软件。

4.IOS App开发流程(来自网络):

一个标准的iOS应用开发流程,大体上可以分为如下几步:

1)、创建应用项目,并配置好应用使用环境,如访问权限、使用设备、屏幕方向、架构、Logo图,包括编译环境等。
2)、编写代码,使用模拟器进行调试和运行;在这过程中,也可以创建单元测试工程。
3)、应用调优。对应用占用CPU和内存情况进行优化;
4)、设备管理。在iOS应用程序开发者空间中注册测试设备,包括自己的以及团队所用的设备信息;
5)、发布应用。等程序编写并调优完成后,最后一步就是发布应用了,发布应用分为测试发布和正式发布两种类型,测试发布只能是那些注册了设备信息的用户才能下载使用。正式发布则提交到苹果的App Store中去。 

5.IOS开发工具

苹果公司提供的IOS开发工具

Xcode 是一个集成开发环境(IDE),从创建及管理iOS工程和源文件到将源代码链编程可执行文件,并在设备运行代码或者在iPhone模拟器上调试代码所需的各种工具,尽皆包含其中

Interface Builder 以所见即所得方式组装用户界面。 

Instruments 为确保软件具有最佳的用户体验,在iOS应用程序运行于模拟器或设备上时,Instruments环境可以分析其性能。 

Shark是分析iOS应用程序性能的工具。

开源工具链 

开源API和官方API有很大一部分是重合的。尝试并使用开放工具链会帮助开发人员领先一步。它也比官方工具链更强大,而且会使开发人员继续推着Apple朝有趣的新方向走(来自Jonathan Zdziarski)。

Jonathan Zdziarski这么说有点儿自夸,诚然开源工具链开放了更多的低层操作可供调用,为IOS App开发提供多样的选择,但是应用的界面设计仍然是它的短板,或者说不如官方的API

除了开源社区提供的开发环境外,苹果公司提供的以上开发工具被最多的开发者使用。关于开发工具的详细介绍请参见(来自苹果官网)。

6.越狱

这里讲的是IOS越狱,根据维基百科的解释,IOS越狱定义如下:

IOS越狱是对于苹果公司便携装置操作系统IOS进行破解的一种技术手段,用户使用这种技术及软件可以获取到IOS的最高权限,甚至可能可以进一步解开营运商对手机网络的限制,安装App Store以外以及未经Apple许可的社群软件以及,甚至自行软件,改装操作系统,使用命令行程序(来自维基百科)。

开发者对越狱技术的需求是显而易见的,在开发IOS应用的时候,同其他软件开发一样,需要对应用的功能或性能进行测试,有时候开发模拟环境并不能代表真实的机器环境,开发者需要把应用安装到真实机器中,而苹果公司对硬件产品安装的应用有严格的审查制度,这时候IOS越狱是非常受开发者欢迎的。

7. IOS架构简介

IOS是苹果移动终端(iPhoneiPod touch以及 iPad设备)的操作系统,和一般的操作系统一样,扮演底层硬件和应用程序(显示在屏幕上的应用程序)的中介,管理设备硬件并为本地应用程序的实现提供基础技术。那么所谓的IOS App开发就是为这种操作系统制作应用软件,IOS AppIOS的上层(从程序级别来说),直接调用系统应用服务(由IOS提供);不管网络是否链接,IOS App都能运行,这点和Web应用不同(依赖网络链接)。

苹果官方网站定义的IOS的层,如图:

 

图 1

一般来说高层提供低层的抽象,防止应用程序修改硬件,如果高层没有提供控制低层的方法,应用程序也可以直接调低层的接口(来自苹果官网)。

附录A

第三方推Windows版iPhone SDK

 

对于全球的手机软件程序员来说,iPhone堪称是目前最热门的开发平台。App Store中的20余万款软件的庞大开发群体,以及因开发iPhone软件一夜暴富的种种传奇故事,都让大量程序员趋之若鹜。不过,目前iPhone SDK仅面向Mac平台,要想为iPhone开发软件必须有两个条件,购买一台苹果Mac机,并学习Objective-C语言,这确实是一种障碍。

日前,一家之前专门开发手机模拟器的软件厂商Zimusoft推出了自己的iPhone SDK,号称要让占全球程序员总数80%Windows系统开发者使用自己最熟悉的系统,最顺手的语言来开发iPhone软件。

这款名为DragonFireSDK的开发包实际上仍然是一款模拟软件,开发者在使用标准C++语言编写代码后,由该SDK翻译为苹果标准的Objective-C语言,再编译为iPhone软件格式。用户可以在Windows系统下编写软件,运行模拟器进行调试和除错,直接编译后即可提交给苹果进行审核,进入App Store官方渠道进行销售。

Zimusoft表示,目前已经有多款使用DragonFireSDK开发的软件进入App Store,显示苹果确实允许(或是根本没有发现)使用非官方SDK进行开发。而如果用户开发的是免费软件,还可以通过DragonFireSDK网站进行推广。

DragonFireSDK的首个版本专门针对游戏开发,要价99.95美元。当然,这不包括开发完毕后提交给苹果销售需要缴纳的iPhone开发会员费。而且,DragonFireSDK还存在一些限制,比如只能在有限时间内进行编译测试,只能编译一款最终的App Store格式软件,以后再完成的软件将每款收费10美元。

DragonFireSDK在网站上提供了以及,即使你并非开发人员也可以尝试一下。

你可能感兴趣的文章
关于php包含Apache日志的随想
查看>>
Grep与web漏洞挖掘
查看>>
正则表达式使用详解
查看>>
引用函数magic_quotes_gpc和magic_quotes_runtime的区别和用法(新手推荐)
查看>>
编写不受魔术引号影响的php应用
查看>>
PHP开发安全设置
查看>>
Php Endangers - Remote Code Execution
查看>>
变量的变量,PHP和你
查看>>
PROC系列之四---/proc/loadavg
查看>>
某大型网站的内核TCP/ip优化脚本
查看>>
Defeating SSL using SSLStrip (Marlinspike Blackhat)
查看>>
大型网站数据库架构
查看>>
rdp 安全策略
查看>>
Threat Intelligence Quotient Test
查看>>
Cisco路由器上防止DDOS的一些建议
查看>>
系统安全防护之UNIX下入侵检测方法
查看>>
域控渗透技巧
查看>>
Minion security project and 分布式nmap
查看>>
防火墙相关
查看>>
网络性能测试工具Iperf上手指南
查看>>