网上能找到的关于Delphi XE系列的移动开发的相关文章甚少,本文尽量以详细的图文内容、傻瓜式的表达来告诉你想要的答案。
原创作品,请尊重作者劳动成果,转载请注明出处!!!
注意,苹果发布Xcode7后, 开放了普通的AppleID也能真机调试:( 非$99 或 $299, 只要能上AppStore下载应用的AppleID就行)
真机调试的开发测试环境:
虚拟机版本: VMware11+unlock203
RAD平台:XE8up1 (下载地址及和谐手段请看QQ群:165232328 的不看后悔系列)
MAC平台:OSX10.10.3 懒人版 (安装Xcode7需要10.10.3或以上, 本文所使用的OSX百度网盘:http://pan.baidu.com/s/1jGndibs)
Xcode版本:Xcode7 Beta (你也可以选择Beta2、3、4, 只是我喜欢Beta1带有刷新PP文件的按钮, 本文所使用的Xcode百度网盘:http://pan.baidu.com/s/1uLbx8)
真机设备: iPad Mini2 iOS8.3 或 iOS8.1或以上的iP4s/5/5s/6/6s (真机不需要越狱, 但真机iOS版本必须不低于Xcode里下载的SDK版本, 否则编译时会报错:e8000007)
特别提醒:正式发布App时, 请使用正式版的Xcode编译, 而非Beta版。
1.我们先装好VM和OSX10.10.3, 大同小异的步骤请翻看以前的文章, 这里就不详细说了, 只说一说细节:
a.从上面网盘下载回来的 Yosemite Install(14D131).cdr 需要把后缀名改为iso, 如Yosemite Install(14D131).iso, 这样VM才会识别这个镜像。
b.配置好虚拟机后,启动时有可能报这个错误:
解决方法:打开你这个OSX虚拟机的目录,找到虚拟机的配置文件 xxxxx.vmx,用记事本打开,在最后部分添加一行 smc.version = "0" 保存后即可忽略这个错误。
c.和旧版本不同, OSX10的磁盘工具改到了标题栏里。
2.把 Xcode7 Beta 和 XE8up1的PAServer放到一个U盘里(需要4G以上空间), U盘需要先格式化为FAT32, 因为OSX不能识别NTFS格式。
有不明真相的群众问我为何虚拟机和物理机共享文件要用U盘,那只是因为:我们装OSX不是为了黑苹果,而是为了编译程序,U盘传递稍方便点,如果你用传统方式给虚拟机映射共享文件夹,那你需要安装VM tool,何苦呢。
---------------------------------------------------------------
这是8G的U盘,抽烟的程序员只需要少抽2包就有了。模拟器也是可以先下载的,因为在Xcode里那个下载速度严重受不了。
3.安装PAServer、Xcode7,具体操作可以翻看以前的文章。
设置好Xcode版本。
下载好相应的SDK。可以先下载好,再放进Xcode也行,避开Xcode的龟速下载。
4.利用Xcode7生成证书、AppID、Profile。
---------------------------------------------------------------
1.运行Xcode,Xcode打开后,点左上角菜单'Xcode',点'Preferences'。
2.在打开的窗口中,点'Accounts',切换到账号页,然后点下面的'+'号,在弹出菜单中点击'Add Apple ID'。
3.在弹出的对话框中,填入你的AppleID和密码(不需要$99的账号,只要能登录AppStore下载应用的普通账号就行)。填完后,点击'Add'。
4.假如账号密码正确的话,Xcode会将账号添加到账号列表,点击左侧的账号,可列出该账号的开发授权,Agent表示该账号是付费账号,Free表示未付费但可免费调试。
我们双击它。
5.这里证书和授权文件是空白的,点中间的'+'号,在弹出的项中选择'iOS Development'。
6.稍等一下,证书就自动生成了,是以你的账号命名的。
7.而下面的Provisioning Profiles是空白的,因为我们还没有提交过ID和设备UDID,这里肯定是空白的。点'Done'关掉它。
8.继续,这个窗口不用管它,我们点击'Window'->'Devices'。同时将真机接到电脑中,并连接上。
9.识别了设备后,等待Xcode自动为你开启调试模式,如果长时间卡在菊花这里,请解锁真机,并在真机弹出的对话框中点'信任'。
当真机准备完毕后,可以把此窗口关掉。
10.PP文件必须由苹果来生成,那么我们来利用Xcode为我们生成一个。
点击'File' -> 'New' -> 'Project',新建一个Xcode工程。
11.选择iOS类型,随便选个模型,'Next'。
12.在工程名中填上内容,AppID则会自动根据此而生成。Devices里如果你的是iPhone则选择iPhone。'Next'。
13.选择位置保存,我是放在桌面的,所以点桌面,然后在空白地方右键,'New Folder',新建一个文件夹来放这个工程。
14.双击进入新建的文件夹。
15.点'Create'保存。
16.选择了保存位置后,马上就进入工程,因为Xcode7自带iOS9,而我们的设备只是8.3,下载的SDK也是8.3的,所以先将版本降低,这里先选8.3。
17.点一下这里,选择我们的设备。('Devices'里的设备类型会自动读取新建工程时的设置,如果不正确则需要选择正确的类型)
18.选择你连接到MAC中的设备,如果这里选不了,你就得先回到第16步降低版本。
19.然后点'Team'这里。
20.Xcode会自动读出我们前面添加的账号,选择它。
21.然后点'Fix IsSue',让苹果为我们生成Provisioning profiles。
22. 这个过程是全 (不需要我们填这表) 自 (填那表) 动 (还得证明你妈是你妈) 的。。。
23.能看到这些都可以选好了,就表示文件已经在遥远的他方里生成了。我们来下载回来。
24.点菜单'Xcode' -> 'Preferences'。
25.双击打开。
26.点一下左下角的'刷新',稍等一下,Xcode就会为我们把远在他方的PP文件下载回来。在刷出来的PP文件上点'右键',选择'Show in Finder'。
27.双击它,自动将它安装到真机上。(前提是你的设备必须连着MAC)
28.窗口一闪,闪回刚才的地方,就表示已经安装好了。我们来验证一下。
29.点菜单'Window' -> 'Devices'。
30.在'Devices'中,右键点我们的真机,选择'Show Provisioning Profiles'。
31.很好,已经看到了,我们点'Done'关掉它。
32.'Devices'窗口也关掉。
33.'Accounts'窗口也关掉。
34.把Xcode的工程最小化,因为等下我们还要用到。我们去打开PAServer。
35.点一下桌面空白处,回到桌面后,点'前往' -> '应用程序'。
36.运行PAServer 16.0
37.运行中,状态良好。。
38.回到Windows,在XE8里添加iOS SDK,这里不详细说了,可以翻看旧的文章。配置好后,我们打开一个工程,这里选择自带的某个Demo,选好编译类型和设备。
39.点'Project' -> 'Options',我们来配置证书。
40.打开Options后,选择'Version Info',在CFBundleIdentifier中,填上Xcode中我们建的工程所生成的Bundle Identifier。下面版本默认7.1,不要改。(2015.11特别说明,这个不是指安装应用的最低IOS版本,这个的意思是告诉编译器以7.1版本的格式生成info.plist,因为不同时期的SDK区别很大,如XCODE4.x时该值为6.0)
41.Bundle identifier填好后,点左下角的'Proisioning','Target' 上选择 'Debug' 里的 'iOS Device - 32bit'。
42.在'Build Type'中,选择 'iOS Device -32bit-Development'。
43.'Provision Profile'中,选择你的PP文件,如无意外,XE8可以正确获取到的。
44.'Developer Certificate'中,选择我们的证书,如无意外,XE8可以正确获取到的。
45.全部正确的话,这里其实已经和付费账号一样的操作了,就是编译APP。
46.运行工程,很快就能在我们的真机上看到FireMonkey的图标了。看到下面的信息,表示真机上的App已经在运行了。
47.附真机运行App截图 (iPad Mini2, iOS8.3)
到此,XE8+Xcode7的真机调试已完成。
EMB在XE8中加入了Provisioning profile的位置读取,这导致原来的自建证书真机调试无法再实现,幸好苹果总能给人带来好消息。
但是有条件的还是买个证书支持一下吧,因为现在只要一次付费,就能开发iOS和OSX。
PS:
---------------------------------------------------------------
FireMonkey移动开发可加QQ群:165232328 (本人非管理员,仅仅其中一成员,此群高手林立,期待各位Delphi爱好者共同交流)。