十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
开发iPhone等iOS平台的移动应用时需要使用Mac本,但是Mac本都比较昂贵,所以可以采用Windows7上利用VMWare安装Mac操作系统的方法来模拟ios开发环境,达到降低成本的目的。
公司主营业务:成都网站建设、成都网站制作、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。成都创新互联公司是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。成都创新互联公司推出鄂托克免费做网站回馈大家。
1. 相关配置
操作系统:windows7旗舰版
Work station:VMWare10
Mac操作操作系统:OS X 10.8
2. 安装VMWare
检测CPU是否支持虚拟化 检测工具 securable.exe。设置过程如下:重新开启——F1——BIOS——Advanced——cpu Setup——intel Virtualization Technology——Enabled——F10保存退出。
3. 安装VMWare的Mac补丁
将补丁文件下载之后,解压缩。打开安装文件的windows目录,右键以管理员身份运行install.cmd。
1 . 安装虚拟机VMware Workstation 9.0
2.安装虚拟机补丁。
默认情况下,VMware虚拟机没有Mac系统选项。需要安装补丁之后,才会出现。
3.下载苹果dmg镜像(InstallESD.dmg)
4.新建虚拟机,选择Apple Mac OS系统。(没有安装虚拟机补丁的话,没有此选项,不能安装)
5.光驱镜像选中下载的Mac系统dmg文件,配置虚拟机的处理器,硬盘(尽量大一些),内存等信息。
6.启动新建的虚拟机,安装苹果Mac系统
7.安装完苹果系统之后,需要注册苹果的官方ID,然后下载Xcode。最新的Xcode是4.6.2版的。如果提示系统不支持,可以选择更新Mac系统。
8.安装完Xcode之后,就可以进行ios开发了!
既然要承载 web 页面,一个原生的 WebView 必不可少。在 iOS 中,目前已经有两款高性能、功能齐全的 web 浏览器,UIWebView (=2.0)和 WKWebView(=7.0)。
当然,两种 web 浏览器选其一即可。网上有很多文章,包括我之前已经发表的博文中,都介绍过这两种浏览器,读者可以根据自己的需要选择。
就目前的情况看,UIWebView 发展了很多年,目前市面上大部分的 web 页面也都支持这样的浏览器,因此很多公司在选择的时候都使用这个,但是,我们知道,WKWebView 有太多改善前者的优点,而且也是苹果官方提倡大家使用的,为了性能,为了更多的特性,建议初次搭建的朋友采用 WKWebView。
为了实现 h5 与 native 之间的互相调用,我们需要在两者之间架一层桥来实现,关于 bridge,之前的文章也有介绍。
bridge 的功能包括:native 调用 h5,h5 回调 native,h5 调用 native,native 回调 h5。
有了 bridge,h5可以使用 native 支持的更多特性,native 可以获取 h5 页面加载的信息,也可以让 web 页面动态执行一些脚本做一些事。
总之,在 web 容器框架中,这个 bridge 还是很有必要的。
嗯,这个是辅助项,做了这一步可以进一步提高 web 容器的加载性能,而且资源缓存到本地后可以做到不依赖网络,提高用户体验。
通常有两种做法,
UIWebView 使用简单,而且现在用户的手机性能也已经不再是页面展示性能的瓶颈,所以,这里介绍的依然采用 UIWebView 作为 web 浏览器。
WebViewJavascriptBridge 是一款非常强大的第三方开源 bridge 库,同时支持 UIWebView 和 WKWebView。
git 地址
NJKWebViewProgress 是一款能使 UIWebview 显示加载进度的第三方开源框架,支持代理协议处理和 progressview 展示两种功能。
git 地址
在Mac系统下进行iOS开发,就要配置相应的iOS环境,需要安装一些工具,下面小编将针对Mac配置iOS环境给大家做个简单的介绍,有兴趣的朋友可以来了解下。
为了布署iOS应用程序到Mac的iOS Simulator上,需要在Mac上安装下列工具:
Platform Assistant(PAServer)
为了测试目标,RAD Studio使用Platform Assistant,它必须安装并且运行在Mac上。
XCode
XCode是在Mac上的开发测试环境,并且提供Mac OS X和iOS应用程序需要的程序文件。
方法/步骤
1
安装PlatformAssistant
刚才讲过,当布署iOS App从PC到iOS Simulator或iOS Device时,Platform Assistant必须运行在Mac上。
Platform Assstant的Mac OS X安装包名为RADPAServerXE4.pkg,并且可以在两个地方可以找到:
在RAD Studio安装目录里的PAServer目录。
例如,C:\Program Files\Embarcadero\RADStudio\n.n\PAServer\RADPAServerXE4.pkg
2
运行PlatformAssistant
在Mac的Finder里,按下面的步骤激活这个.app文件(RAD PAServer XE4.app):
1. 定位到顶层的Applications目录。
2. 双击RAD PAServer XE4.app来启动Platform Assistant:
会出现一个终端窗口,显示Platform Assistant标识以及输入密码提示:
可以按Return键(回车键),或者输入一个PAServer的密码然后按Return键。
3
接下来会被提示要求输入Mac的用户密码来允许Platform Assistant来调试你的应用程序。输入你的密码,然后选择Take Control“允许”:
4
在Mac上安装XCode
XCode是在Mac上的开发测试环境,并且提供为Mac OS X和iOS应用程序所需要的开发文件。
可以从下面这些地方安装XCode:
在“Mac OS X Install”DVD上,OptionsInstalls下面,双击XCode.mpkg来安装XCode。
在Mac App Store,免费下载Xcode。
作为一个注册的AppleDeveloper,你可以下载最新版本的Xcode包(.dmg)。注册然后下载Xcode。
END
(1)软硬件要求
ios开发硬件环境配置
苹果设备,首先需要一台Mac电脑及一个iDevice——iPhone、iPad、iPod Touch均可,但三个设备都有的话,会对硬件配置更加有利,可以在不同设备上进行测试,确保app能在所有苹果设备上运行。
软件设置
在ios app开发中,首先要先会运用iOS应用程序设计语言Objective-C(现在最新的ios程序设计语言为swift)进行app设计。完成软件设计后,在开发应用程序时,需要使用Apple开发套件(SDK)以及Xcode,即ios的集成开发环境(IDE),进行代码调试、编译等。
(2)如何搭建开发环境
首先搭建Mac环境。其次要在真机(iphone/ipad)上部署和调试。Apple的iOS开发者帐号是每年99美元,除了能够访问各种文档资源之外,最重要的是它可以帮助开发者生成合法证书,并把应用部署到App store和真机上,当然,如果产品开发完成之后打算投入市场,那这个钱是省不得的。
第三步调试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相关的错。
最后调试Javascript。在真机上出了Javascript错误是非常难调试的,这需要很多的工具来支持才行,我准备把它和其他移动平台上javascript调试单独作为一个主题来详细研究,这里就暂时不多说了。到此,iOS上Phonegap开发环境也就搭建完成。
开始编译安装:
一、X11编译:
1.进入qt-x11-opensource-src-4.5.0源码目录。
./configure -no-openssl
在我这里必须加上-no-openssl选项,否则在make过程中,编译到ssl时会报错。出错信息为:
ssl/qsslsocket_openssl_symbols_p.h:264: error: variable or field ‘q_sk_free’
declared void
ssl/qsslsocket_openssl_symbols_p.h:264: error: ‘STACK’ was
not declared in this scope
ssl/qsslsocket_openssl_symbols_p.h:264: error:
‘a’ was not declared in this scope
ssl/qsslsocket_openssl_symbols_p.h:265: error: ‘STACK’ was not declared in this
scope
ssl/qsslsocket_openssl_symbols_p.h:265: error: ‘a’ was not declared
in this scope
……
……
默认安装路径为
/usr/local/Trolltech/Qt-4.5.0。可用--prefix 指定其他安装路径。
2. gmake
# linux下一般可直接用make代替gmake。如果要加快编译速度,就加上 -jx ,x表示最大的线程数。
3.
gmake install
二、qt-embedded-x86编译:
1.进入qt-embedded-linux-opensource-src-4.5.0-x86源码目录。
./configure -prefix
/usr/local/Trolltech/QtEmbedded-4.5.0-x86 -embedded x86 -no-openssl -qt-gfx-qvfb
-qt-kbd-qvfb -qt-mouse-qvfb
先后配置了安装目录、嵌入式架构(x86)。同时也跟X11版本一样,配置了
-no-openssl,没有这一项的话,make的过程中会出现跟编译X11时一样的错误。再后面的几项是为了更好的配合qvfb,网上说如果没有这几项,安装好qt-embedded-x86后想在qvfb上调试程序时,会出现类似下面的错误:
Error opening buffer device /dev/fb0QScreenLinuxFb::connect: No such
file or directory
2. gmake
跟x11版一样
3. gamke
install
三、qt-embedded-arm:
与前面两个不同,在编译arm版本的qt-embedded前,必须确认已经安装了交叉工具链,编译过程中要生成许多arm架构的库,所以必须有arm-linux-gcc、arm-linux-g++等工具。我用的是友善提供的arm-linux-gcc-4.5.1版本。
1. 进入qt-embedded-linux-opensource-src-4.5.0-arm源码目录。
./configure -prefix
/usr/local/Trolltech/QtEmbedded-4.5.0-arm -embedded arm -no-openssl
-qt-libpng
指定了安装路径、嵌入式架构。同时也跟X11版本一样,配置了
-no-openssl,没有这一项的话,make的过程中会出现跟编译X11时一样的错误。
另外,还增加了一项,
-qt-libpng,这个选项应该是关于png相关的库,指定用qt自带的png库。如果没有这一项,我这里会出现如下错误:
image/qpnghandler.cpp: In member function 'virtual QVariant
QPngHandler::option(QImageIOHandler::ImageOption) const':
image/qpnghandler.cpp:950:35: warning: 'png_info_struct::width' is deprecated
(declared at
/opt/FriendlyARM/toolschain/4.5.1/lib/gcc/arm-none-linux-gnueabi/4.5.1/../../../../arm-none-linux-gnueabi/include/png.h:639)
image/qpnghandler.cpp:950:35: warning: 'png_info_struct::width' is deprecated
(declared at
/opt/FriendlyARM/toolschain/4.5.1/lib/gcc/arm-none-linux-gnueabi/4.5.1/../../../../arm-none-linux-gnueabi/include/png.h:639)
image/qpnghandler.cpp:950:55: warning: 'png_info_struct::height' is deprecated
(declared at
/opt/FriendlyARM/toolschain/4.5.1/lib/gcc/arm-none-linux-gnueabi/4.5.1/../../../../arm-none-linux-gnueabi/include/png.h:640)
image/qpnghandler.cpp:950:55: warning: 'png_info_struct::height' is deprecated
(declared at
/opt/FriendlyARM/toolschain/4.5.1/lib/gcc/arm-none-linux-gnueabi/4.5.1/../../../../arm-none-linux-gnueabi/include/png.h:640)
make[1]: *** [.obj/release-shared-emb-arm/qpnghandler.o] 错误 1
make[1]:
*** 正在等待未完成的任务....
make[1]: Leaving directory
`/root/qt4.5.0/qt-embedded-linux-opensource-src-4.5.0-arm/src/gui'
make:
*** [sub-gui-make_default-ordered] 错误 2
看起来像是我的交叉工具链跟这个QT版本匹配的不太好,Qt好像不太兼容交叉工具链的png.h头文件中定义的数据结构。加上 -qt-libpng
可解决此问题。
四、qvfb:
这时QT就已安装成功。但是还需要额外安装qvfb。
进入qt-x11-opensource-src-4.5.0源码包目录,然后
cd tools/qvfb
在qvfb源码目录下运行
make
会在qt-x11-opensource-src-4.5.0/bin下生成qvfb,我们将它copy至/usr/local/Trolltech/QtEmbedded-4.5.0-x86/bin下即可。
end:
到这里,QT的开发环境基本就搭建好了,利用 qt-embedded-x86 和 qvfb
工具可以很方便的调试QT程序,调试好的程序再经 qt-embedded-arm
编译就可在开发板上运行(还有个小问题,我现在编译好的QT程序虽然可以在开发板上运行,但是运行时触摸屏不能用,只能用USB鼠标控制,想支持触摸屏貌似还需要移植tslib库,等我折腾完了再回来把相关内容补充上)。