跨平台移动开发实战(二)------IOS开发环境搭建

转载 2015年07月07日 10:50:07

转自:http://blog.csdn.net/cutesource/article/details/7748092

首先我想提一下既然是跨平台的方案,还为什么要搭建各个平台的开发环境。Phonegap+HTML5的方案不是搞出一个在任何平台都能无需编译就能运行的package,而是一种能让Javascript与native相整合的方案,因此基于它做出的软件包依然是具有各个平台特性的package,只不过里面大部分的业务逻辑都是基于Javascript来开发的,但不代表所有,所以需要在各个平台的开发环境上来编译调试和最后的打包部署,虽然phonegap也出了个build platform: https://build.phonegap.com/,但这个肯定是不够用的。对于我这个只搞Java的人,搭建各个平台的开发环境着实花了不少时间。

IOS的开发环境搭建是最搞人的,但对于有Mac本并且拥有IOS开发者帐号的朋友来说,可以略过这篇文章,我这里谈开发环境搭建是基于既没有Mac本也没有开发者帐号,Apple是一个把技术和产品搞得很封闭的公司,开发IOS不但对硬件软件有严格要求,对其中的版本也是限制很严,这导致我们这些走开源技术路线的人很不习惯。但没办法,你只能被动地被Apple牵着鼻子走,没有太多其他选择。

好了,这篇文章的目的很简单,就是需要一个开发环境(零成本)能开发和打包基于Phonegap的IOS应用。

具体说来,有四个任务:

  • Mac环境搭建
  • 在真机(iphone/ipad)上部署和调试
  • 调试Phonegap源码
  • 调试Javascript

1)Mac环境搭建

我已在《在AMD的WIN7上搭建IOS开发环境(mac 10.6.8 + xcode 4.2) 》里详细记录了整个搭建过程。试用了个把星期,基本上还是能满足开发工作的需求,但如果需要很流畅的体验,一是需要加装内存,另外就是最好能搭在SSD上,不过这两样现在也不贵,1000元足矣。

2)在真机(iphone/ipad)上部署和调试

如果只用在模拟器上看看效果,那就不用考虑这一步。Apple的IOS开发者帐号是每年99美元,它除了能可以访问各种文档资源外,最重要一点就是开发者需要用它生成合法证书,并把应用部署到App store和真机上,当然,如果产品已开发完成并计划投入市场的话,这个钱肯定是要花的,但对于那些还在门外试水的朋友来说,没必要这么快就被Apple套牢。我所需要就是能从xcode上直接在真机上部署和调试应用程序。

首先是要破解xcode。这个步骤有很多文章写了详细步骤,我也是照着这些步骤完成的,比较靠谱的是这篇文章:http://kqwd.blog.163.com/blog/static/4122344820117191351263/,这里我需要强调的是做这些步骤之前请在VMWare上打个snapshot,避免搞坏了无法回头,这也是在虚拟机上搞开发的最大好处。

然后就是要越狱iphone/ipad,这个我就更不用累诉了,相信拥有iphone/ipad的朋友都研究过如何越狱。但这里我还没探明清楚的是不是非得越狱才能调试或部署ipa,不过我试过在没越狱的iphone上是不行的,但应该只要做到部署ipa到真机就可以了。

最后是xcode识别真机,直接在真机上调试应用。这一步把我卡了很长时间,一直在虚拟机的Mac无法识别ipad,在硬件设备表却能看到ipad,开始我一直怀疑是虚拟机的问题,但虚拟机识别USB硬盘是没问题的。结果原因很简单,是itune的版本太低,升级到最新版本后就成功了。(从这里也能感受到Apple的手腕,用各种手段让你不得不更新它所有相关产品)。成功识别后,能在run或windows/Organizer里看到连接上的device,这是就和在模拟器里调试一样了。

3)调试Phonegap源码

能调试Phonegap源码还是很必要的,一是可以学习一下整个流转机理,二是便于调试自己写的或加装的plugin。

首先根据官方guide: Getting Started with iOS,搭建好项目结构。然后:

  1. 删除“Cordova.framework”
  2. 把CordovaLib.xcodeproj从phonegap源码包里拖到xcode里,拖放位置请看下图:
  3. 选择主项目(starteam-mobile-ios)的“Build Phases”,在“Link Binary With Libraries”下添加“Workspace”下的“libCordova.a”,如图:
  4. 在“Target Dependencies”添加“CordovaLib”,如图:
  5. 编辑“Build Settings”里的“Other Linker Flags”,添加“-all_load -Obj-C”配置项
  6. 把Phonegap源码包里的“VERSION”文件拖到“Supporting Files”文件夹下:
  7. 主项目和CordovaLib.xcodeproj下的Architectures改为:Standard (armv7),不然编译时会报gcc相关的错,如图:
  8. 编译整个项目,如果成功也就代表可以调试phonegap源码了。

phonegap源码还没来得及看,主要是对objective-c不熟,不过发现一个学习IOS开发很不错的视频资源:iOSSDK基础教程》,虽然是全英文,但用迅雷看能在线匹配到很多章节的字幕,配合很不错的视频演示,英语应该不是问题。

4)调试Javascript

在真机上出了Javascript错误是非常难调试的,这需要一系列工具来支持,我准备把它和其他移动平台上javascript调试单独作为一个主题来详细研究,这里就暂时不多说了。

到此,IOS上Phonegap开发环境也就搭建完成,虽然是零成本,但耗了不少时间,有没有必要大家自己斟酌,确实有兴趣可以尝试一下,但对于已下定决心搞IOS的朋友还是赶紧买Mac吧(我也正在努力地向老婆大人申请预算),尝试这些只是为了试水,让自己更加坚定地迈入IOS的大门。


版权声明:本文为博主原创文章,未经博主允许不得转载。


Kafka开发实战(二)-集群环境搭建

上一篇文章对Apache Kafka 做了一个简单的介绍, Kafka作为一个优秀的分布式消息系统具有以下优势: 分布式,高吞吐量 支持无限量消息堆积 Kafka Producer、Consumer设...
  • FX_SKY
  • FX_SKY
  • 2016年04月28日 13:30
  • 498

Xamarin iOS开发实战(内部资料)

Xamarin iOS开发实战上册 (内部资料)
  • u014621518
  • u014621518
  • 2014年08月29日 13:23
  • 1696

跨平台移动开发实战一

http://blog.csdn.net/cutesource/article/details/7747121
  • dachao_me
  • dachao_me
  • 2015年07月24日 09:57
  • 281

跨平台移动开发实战

1、  基于Phonegap实际上是用B/S的技术基于C/S的模式来开发,  Phonegap+HTML5的组合是一个比较成熟,并且行得通的方案。我这两个月,就是基于这样的总体路线做到了能覆盖...
  • husongzhen
  • husongzhen
  • 2013年03月12日 21:30
  • 584

React Native移动开发实战-1-React Native的JSX解决方案

JSX并不是一门新的开发语言,而是Facebook提出的语法方案:一种可以在JavaScript代码中直接书写HTML标签的语法糖,所以,JSX本质上还是JavaScript语言。...
  • cui_1234
  • cui_1234
  • 2017年08月03日 20:46
  • 653

荐书丨移动Web前端高效开发实战

一线互联网公司Web前端团队实战经验总结涵盖移动Web前端开发各个关键技术环节国内从2012年开始,移动端设备流量呈现大面积爆发式增长,到2017年已经达到75%,预计2018年这一比例会达到79%。...
  • csdnsevenn
  • csdnsevenn
  • 2017年09月22日 00:00
  • 170

Visual Studio 跨平台开发实战(1) - Hello Xamarin!

前言 應用程式發展的腳步, 從來沒有停過. 從早期的Windows 應用程式, 到網路時代的web 應用程式, 再到近幾年相當盛行的行動裝置應用程式(Mobile Application), 身為C#...
  • u013695458
  • u013695458
  • 2014年03月03日 10:19
  • 12371

React Native移动开发实战-2-如何调试React Native项目

本节来介绍另一个非常重要的调试选项:Debug JS Remotely选项。
  • cui_1234
  • cui_1234
  • 2017年08月07日 21:08
  • 549

《移动Web前端高效开发实战》笔记1——静态布局在移动端上的自适应

静态布局在移动端上的自适应,看这里。
  • kgsew
  • kgsew
  • 2017年09月26日 22:17
  • 387

《移动Web前端高效开发实战》笔记4--打造单页应用SPA

单页应用英文全称Single Page Application,简称SPA,近几年成为一个颇有热度的话题,越来越多的网站使用这种模式进行网页开发,事实上单页这个概念大概在2003年就已经被提出。...
  • kgsew
  • kgsew
  • 2017年10月11日 21:11
  • 252
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:跨平台移动开发实战(二)------IOS开发环境搭建
举报原因:
原因补充:

(最多只允许输入30个字)