Delphi XE4 For IOS真机调试配置教程

大家好,我是DelphiTeacher,一个Delphi狂热爱好者

Embarcadero在422号发布了XE4425号在深圳开了发布会,在上海没有开发布会,让我感到很失望。

因为目前这方面的中文资料相当少,不知道XE4到底有了哪些更新(Delphi在ARM编译器下的对象引用计数,字符串方面做了很大的更改),哪些要注意,我也很想知道用Delphi开发IOS应用是否可行,是否还是像XE2那像困难重重,问题多多。

想必大家也很想体验一把在IOS DeviceiPhone,iPad,iPod Touch)上运行用Delphi开发的应用程序的那种感觉,所以我写了这份教程,将配置Delphi For IOS开发环境的步骤以及遇到的一些问题与大家分享。

我尽可能详细点,如有不详细的地方,请大家留言指正,以及一些其他网友提供的内容,我也会补充进来。


1、首先准备电脑操作系统


有三种方案可以选择(当然还有其他):

  • 苹果电脑Mac系统+虚拟机安装Windows
  • PC电脑Windows系统+虚拟机安装Mac系统
  • 苹果电脑Mac系统+PC电脑Windows系统(两台电脑)

Mac系统的要求:OS X 10.7 Lion以上,OS X 10.7 Lion以上

Windows系统的要求:WinXP~Win8,个人建议最好是Win7


我使用的是MacBook Pro(借的),15寸,i7 CPU4G内存,系统是Mountain Lion 10.8.3,然后再装VMWare Fusion虚拟机,虚拟机上装的是Win7系统。


我的建议是,电脑配置越高越好,硬盘最好是固态的,不然,用起来十分卡,虽然也可以跑,但不益于自己的身心健康(哈哈,这当然没有得到医学证实)。





2、准备iOS Device 


真机调试,前提当然是你必须得有真机,也就是iOS Device,比如iPhoneiPadiPod Touch

如果暂时没有,那么也可以使用XCode的模拟器iOS Simulator


iOS Device上的操作系统必须是iOS 5.1以上。


我使用的是iPhone 4(借的),系统是6.1.2,已越狱。

 

如果系统是6.1.3不能越狱,或是不想越狱,那也可以,从我这里买一个开发者证书安装一下就可以真机测试了。

 

越狱教程请百度,很简单,先备份SHSH,再用越狱软件(像RedSn0w,evasi0n)。

越狱之后需要安装Cydia,然后再安装AppSync,不然编译好的App文件传输不到iOS设备里面,也就不能真机调试。

如果你只需要运行(不调试)编译好的App文件,你也可以将App打包成iPA文件,安装到iOS Device上运行。



3、在Mac上安装XCodeCommand Line Tools


XCodeCommand Line Tools都可以在苹果开发者网站上下载的到:

https://developer.apple.com/downloads


大家最好下载最新版本的XCode 4.6.2,以及最新的Command Line Tools,如图:


注意:不要直接在DMG文件中打开运行XCode,就以为XCode装好了,已经有4,5位同志犯这样的错误了,安装的时候有提示,XCode-》Applications,

意思是请你把XCode拖动到Applications目录。

 

注意:不要在XCode中安装Command Line Tools(也就是打开Xode,菜单中选择XCode->Preferences…Downloads页中选择Command Line Tools来装),如下:


我一开始是这样安装Command Line Tools的,结果在XE4中运行iOS工程的时候出现“Wrapper init failed:(null)”这样的错误提示:


我就怀疑是XE4没有检测到我在Mac系统下安装了Command Line Tools,然后下载Command Line Tools的独立安装包安装一下就解决了。






4、在Windows上安装XE4


XE4的下载地址:

http://altd.embarcadero.com/download/radstudio/xe4/delphicbuilder_xe4_win.iso

安装序列号(全功能,有源码):

MNFA-A3D8PK-F4BBAE-FCQN

DR大侠的XE4 License Generator

http://bbs.2ccc.com/topic.asp?topicid=426483

当然您也可以安装lsuper大牛的lite版,盒子地址:

http://bbs.2ccc.com/topic.asp?topicid=426730


安装完之后,大家可以看一下XE4可以新建的工程类型:

File->New: 


是不是多出了FireMonkey Mobile Application这一个选项呀!

然后你再点击这个菜单项,弹出FireMonkey Mobile Application的工程类型选择向导窗体:

有以下几种类型:

  • Blank Application(空应用程序)
  • 3D Application(3D应用程序)
  • Header/Footer(页头页脚风格的应用程序)
  • Header/Footer with Navigation(页头页脚带导航按钮的应用程序)
  • Phone Master-Detail(手机主从风格的应用程序)
  • Tabbed(分页应用程序)
  • Tabbed with Navigation(分页带导航按钮的应用程序)
  • Tablet Master-Detail(平板主从风格的应用程序)


其实在XCode(苹果软件的开发工具)新建iOS工程时,也会出现同样功能的窗体:

你在FireMonkey Mobile Application的工程类型选择向导窗体中选择第一个“Blank Application”,就可以看到FOR IOS的窗体设计器:


FOR IOS的窗体设计器是一个iOS Device的界面(这里是一个iPhone),有iPad, iPhone,iPhone5,以及CustomDevice这些选择,在窗体设计区最右上角的下拉框中进行选择。


也可以去掉iOS Device的边框,在窗体设计区右上角按一下这个按钮,那么窗体设计器就会变成这个样子:


还可以90度,180度,270度旋转窗体设计器,按钮也是在窗体设计区右上角的按钮:










5Mac上安装RAD PAServer XE4


相比过去版本的PAServer命令行工具,XE4里,将PAServer做成了一个App应用程序,只需要双击就可以运行了:



PAServer的安装程序依旧在XE4的安装目录下:

Embarcadero\RAD Studio\11.0\PAServer\RADPAServerXE4.pkg


可以用U盘,网络共享等方式把安装程序拷到Mac下,然后安装。





6、配置Connection Profile连接到Mac


安装完XCodeCommand Line ToolsXE4PAServer后,就可以配置Connection Profile了,IDE用它来连接Mac,并在Mac上运行调试OS XiOS应用程序。


添加Connection Profile的步骤如下:

XE4IDE中,菜单Tools->Options,在弹出的Options窗体右边列表中选择Environment Options->Connection Profile Manager,按下Add…按钮,弹出创建Connection Profile的向导窗体,

输入Profile的名称,选择PlatformOS X



填写MacIP地址或机器名(对于IP地址经常变动的,建议填写机器名),PAServer的端口号,以及密码:


填完之后,点击Test Connection来测试一下是否连接,结果出现


这是因为我还没有在Mac上运行PAServer(如果已经运行了,那么就是以上的连接配置有问题,需要检查),好,我们现在来在Mac上运行PAServer,在应用程序或Dock中双击RAD PAServer XE4


会打开PAServer的命令行终端,提示我们输入密码,这里你输入一个密码,然后按回车,就可以了(不要关闭这个窗体,关闭这个窗体就意味着PAServer结束运行):



我们再来测试一下刚才这个连接:


OK,连接成功,按Finish按钮保存。


如果出现下面这个提示窗体,那么就是密码不正确。

在我们装完PAServer之后,在Mac的当前用户目录下会有一个RADPAServer目录:


XE4会通过PAServer将编译好的APP传输到Mac下的这个目录里,

目录名是根据你Windows的用户名+Profile名来取的,可能是对中文支持不好,

如果你的Windows用户名是中文,那么可能会出现Deploy失败的情况,也就是不能将编译好的APP传输到Mac下,所以你的Windows用户名应该要不包含中文的。(感谢网友“[山西]信仰”提供)




7、导入iOS SDK


导入SDK的步骤如下:


XE4IDE中,菜单Tools->Options,在弹出的Options窗体右边列表中选择Environment Options->SDK Manager,按下Add…按钮,弹出创建SDK的向导窗体,


选择平台为iOS Device,选择我们之前创建的Connection Profile,选择一个iOS SDK版本,


点击OK,它会自动Update Local File Cache




好了,现在我们选择的SDK就会被添加进去了


注:如果遇到弹出“No SDKS Founds…..”这个提示窗体(我之前遇到过,没有截图截下来),

那是因为你没有选择Command Line Tools所使用的XCode版本(可能是装了多个XCode版本有关),需要打开XCode,打开菜单XCode->Preferences…,在Locations那一页最后一个Command Line Tools选择一个XCode版本,就可以了。








8、在XCode中连接真机测试


打开XCodeFile->New Project…,在弹出的窗体中选择“Empty Application


输入工程的名称,


然后选择工程存放路径,保存完之后,我们就创建了一个iOS工程,里面没放何控件,

在左上角选择一个模拟器,然后按Run按钮运行这个程序,就会出现一个模拟器,然后运行我们刚才新建的这个空工程(我们在XE4选择iOS Simulator调试我们的程序也是使用XCode里的这个模拟器的)



模拟器调试完毕了,我们来试一下真机调试。

XCode主窗体的右上角,


按一下最右边的这个按钮,Organizer,会弹出下面这个窗体:


然后把真机连接到电脑上,真机就会出现在Devices列表中,如下图我连接到Mac的iPhone 4:


添加为开发设备之后,设置上的黄灯会变绿(表示可以真机调试):


然后选择刚才连接的真机来运行我们的工程(无签名真机调试请百度):

我是参考下面两个贴子:

http://blog.csdn.net/lovenjoe/article/details/7524420

http://mobile.51cto.com/iphone-387974.htm

主要是在Mac系统中添加一个“iPhone Developer”的签名,步骤如下:


1.打开 Mac OS X 操作系统自带的 实用工具 中的 钥匙串访问 程序
2. 在钥匙串访问程序的菜单中选择 证书助理 -> 创建证书 …
3.证书的名称一定要写 “iPhone Developer”,以避免不必要的麻烦
4. 身份类型为 自签名根证书 ,证书类型选 代码签名
5. 勾选 让我覆盖这些默认值 并继续
6. 随便输入一个的序列号。保证序列号和证书名称唯一就可以了
7. 输入证书信息,因为是私有证书,随便写一下就行
8. 后面选择框都用默认值就好了

 

完成后你就可以在钥匙串访问中看到这个新创建的名为 “iPhone Developer” 的自行签名的根证书了。它被标红警示 “此证书不被信任”,表示其并非权威机构认证生成的。这没有关系,因为我们在上一步已经搞定了 iOS 设备了。

该步骤只需一次。

 

 

 

 

可以在Organizer窗体中的Screenshots,点击右下角的New Screenshot(截取手机上的屏幕):


OK,成功在真机上运行!





9、在XE4上连接真机测试


我们用XE4自带的Demo来做测试,

打开Samples\FireMonkeyMobile\iOSControls工程,


在工程管理器视图的Target Platforms中双击iOS Device,再双击Debug,然后按F9运行。





来张照片吧:



 

 

生成ipa(app安装包)

 

假设此安装包的名称是 Hello.app,点击右键,选择”显示包内容“,这样就可以打开这个Hello.app文件夹了(iOS下,每个app程序其实是一个文件夹),

在此文件夹中有一个info.plist文件,双击打开它,新增加一个名为SignerIdentity的key字段,内容为“Apple iPhone OS Application Signing“。

然后将Hello.app拖到iTunes就生成ipa了。默认名字应该是Hello.ipa。


如果要将此ipa分发出去,可以在iTunes中的Hello.ipa文件上点击鼠标右键,选择"在Finder中显示",就可以得到生成后的ipa安装文件了。

 

 

 

 

 

 


结束语:

真机调试成功了之后,还需要花很长的时间来写一些代码来测试数据库,网络,自定义控件等方面,如果这些我觉得这些方面都OK,我也会写些APP到苹果商店中去,遇到一些说 XE4开发iOS不行的人我就可以理直气壮的跟他说:“you are wrong!”


我也会陆续将我实践过程中的一些东西写成文章,与大家一起交流,探讨,发展。


如果遇到特殊的问题,可以QQ联系我:452330643,或Email:[email protected]


还有,哪个有钱的大哥,手时如果有不用的iPad,便宜点卖我一个,我买不起新的。。

 

如果系统是6.1.3不能越狱,或是不想越狱,那也可以,从我这里买一个开发者证书安装一下就可以真机测试了。

 


欢迎加入OrangeUI For FMX 技术支持QQ群10900297

你可能感兴趣的:(Delphi移动开发)