D
DelphiTeacher的专栏
Unregistered / Unconfirmed
GUEST, unregistred user!
大家好,我是DelphiTeacher,一个Delphi狂热爱好者。
Embarcadero在4月22号发布了XE4,4月25号在深圳开了发布会,在上海没有开发布会,让我感到很失望。
因为目前这方面的中文资料相当少,不知道XE4到底有了哪些更新(Delphi在ARM编译器下的对象引用计数,字符串方面做了很大的更改),哪些要注意,我也很想知道用Delphi开发IOS应用是否可行,是否还是像XE2那像困难重重,问题多多。
想必大家也很想体验一把在IOS Device(iPhone,iPad,iPod Touch)上运行用Delphi开发的应用程序的那种感觉,所以我写了这份教程,将配置Delphi For IOS开发环境的步骤以及遇到的一些问题与大家分享。
我尽可能详细点,如有不详细的地方,请大家留言指正,以及一些其他网友提供的内容,我也会补充进来。
1、首先准备电脑操作系统
有三种方案可以选择(当然还有其他):
Mac系统的要求:OS X 10.7 Lion以上,OS X 10.7 Lion以上
Windows系统的要求:WinXP~Win8,个人建议最好是Win7
我使用的是MacBook Pro(借的),15寸,i7 CPU,4G内存,系统是Mountain Lion 10.8.3,然后再装VMWare Fusion虚拟机,虚拟机上装的是Win7系统。
我的建议是,电脑配置越高越好,硬盘最好是固态的,不然,用起来十分卡,虽然也可以跑,但不益于自己的身心健康(哈哈,这当然没有得到医学证实)。
2、准备iOS Device
真机调试,前提当然是你必须得有真机,也就是iOS Device,比如iPhone,iPad,iPod 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上安装XCode和Command Line Tools
XCode和Command 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 failednull)”这样的错误提示:
我就怀疑是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的工程类型选择向导窗体:
有以下几种类型:
其实在XCode(苹果软件的开发工具)新建iOS工程时,也会出现同样功能的窗体:
你在FireMonkey Mobile Application的工程类型选择向导窗体中选择第一个“Blank Application”,就可以看到FOR IOS的窗体设计器:
FOR IOS的窗体设计器是一个iOS Device的界面(这里是一个iPhone),有iPad, iPhone,iPhone5,以及CustomDevice这些选择,在窗体设计区最右上角的下拉框中进行选择。
也可以去掉iOS Device的边框,在窗体设计区右上角按一下
这个按钮,那么窗体设计器就会变成这个样子:
还可以90度,180度,270度旋转窗体设计器,按钮也是在窗体设计区右上角的
按钮:
5、Mac上安装RAD PAServer XE4
相比过去版本的PAServer命令行工具,XE4里,将PAServer做成了一个App应用程序,只需要双击就可以运行了:
PAServer的安装程序依旧在XE4的安装目录下:
Embarcadero\RAD Studio\11.0\PAServer\RADPAServerXE4.pkg
可以用U盘,网络共享等方式把安装程序拷到Mac下,然后安装。
6、配置Connection Profile连接到Mac
安装完XCode,Command Line Tools,XE4和PAServer后,就可以配置Connection Profile了,IDE用它来连接Mac,并在Mac上运行调试OS X和iOS应用程序。
添加Connection Profile的步骤如下:
在XE4的IDE中,菜单Tools->Options,在弹出的Options窗体右边列表中选择Environment Options->Connection Profile Manager,按下Add…按钮,弹出创建Connection Profile的向导窗体,
输入Profile的名称,选择Platform为OS X:
填写Mac的IP地址或机器名(对于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的步骤如下:
在XE4的IDE中,菜单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中连接真机测试
打开XCode,File->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:ggggcexx@163.com
还有,哪个有钱的大哥,手时如果有不用的iPad,便宜点卖我一个,我买不起新的。。
如果系统是6.1.3不能越狱,或是不想越狱,那也可以,从我这里买一个开发者证书安装一下就可以真机测试了。
欢迎加入OrangeUI For FMX 技术支持QQ群10900297
作者:DelphiTeacher 发表于2013/5/4 23:09:29 原文链接
阅读:16614 评论:27 查看评论
查看更多...
Embarcadero在4月22号发布了XE4,4月25号在深圳开了发布会,在上海没有开发布会,让我感到很失望。
因为目前这方面的中文资料相当少,不知道XE4到底有了哪些更新(Delphi在ARM编译器下的对象引用计数,字符串方面做了很大的更改),哪些要注意,我也很想知道用Delphi开发IOS应用是否可行,是否还是像XE2那像困难重重,问题多多。
想必大家也很想体验一把在IOS Device(iPhone,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 CPU,4G内存,系统是Mountain Lion 10.8.3,然后再装VMWare Fusion虚拟机,虚拟机上装的是Win7系统。
我的建议是,电脑配置越高越好,硬盘最好是固态的,不然,用起来十分卡,虽然也可以跑,但不益于自己的身心健康(哈哈,这当然没有得到医学证实)。
2、准备iOS Device
真机调试,前提当然是你必须得有真机,也就是iOS Device,比如iPhone,iPad,iPod 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上安装XCode和Command Line Tools
XCode和Command 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 failednull)”这样的错误提示:
我就怀疑是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度旋转窗体设计器,按钮也是在窗体设计区右上角的
5、Mac上安装RAD PAServer XE4
相比过去版本的PAServer命令行工具,XE4里,将PAServer做成了一个App应用程序,只需要双击就可以运行了:
PAServer的安装程序依旧在XE4的安装目录下:
Embarcadero\RAD Studio\11.0\PAServer\RADPAServerXE4.pkg
可以用U盘,网络共享等方式把安装程序拷到Mac下,然后安装。
6、配置Connection Profile连接到Mac
安装完XCode,Command Line Tools,XE4和PAServer后,就可以配置Connection Profile了,IDE用它来连接Mac,并在Mac上运行调试OS X和iOS应用程序。
添加Connection Profile的步骤如下:
在XE4的IDE中,菜单Tools->Options,在弹出的Options窗体右边列表中选择Environment Options->Connection Profile Manager,按下Add…按钮,弹出创建Connection Profile的向导窗体,
输入Profile的名称,选择Platform为OS X:
填写Mac的IP地址或机器名(对于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的步骤如下:
在XE4的IDE中,菜单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中连接真机测试
打开XCode,File->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:ggggcexx@163.com
还有,哪个有钱的大哥,手时如果有不用的iPad,便宜点卖我一个,我买不起新的。。
如果系统是6.1.3不能越狱,或是不想越狱,那也可以,从我这里买一个开发者证书安装一下就可以真机测试了。
欢迎加入OrangeUI For FMX 技术支持QQ群10900297
作者:DelphiTeacher 发表于2013/5/4 23:09:29 原文链接
阅读:16614 评论:27 查看评论
查看更多...