XE8 & IOS开发之免费证书真机调试:开发证书、AppID、开发授权profile的申请,附Debug真机调试演示
2015-07-31 08:49
796 查看
XE8 & IOS开发之免费证书真机调试:开发证书、AppID、开发授权profile的申请,附Debug真机调试演示(XCode7 Beta版或以上版本适用,有图有真相)
转载地址:/article/7028895.html网上能找到的关于Delphi XE系列的移动开发的相关文章甚少,本文尽量以详细的图文内容、傻瓜式的表达来告诉你想要的答案。
原创作品,请尊重作者劳动成果,转载请注明出处!!!
注意,苹果发布Xcode7后, 开放了普通的AppleID也能真机调试:[b]( 非$99 或 $299, 只要能上AppStore下载应用的AppleID就行)
[/b]
真机调试的开发测试环境:
虚拟机版本: 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 或 [b]iOS8.1或以上的iP4s/5/5s/6/6s (真机不需要越狱, 但真机iOS版本必须不低于Xcode里下载的SDK版本, 否则编译时会报错:e8000007)[/b]
1.我们先装好VM和OSX10.10.3, 大同小异的步骤请翻看以前的文章, 这里就不详细说了, 只说一说细节:
a.从上面网盘下载回来的 Yosemite Install(14D131).cdr 需要装后缀名改为iso, 如Yosemite Install(14D131).iso, 这样VM才会识别这个镜像。
b.配置好虚拟机后,启动时有可能报这个错误:
![](http://images0.cnblogs.com/blog2015/494018/201507/302241007202825.png)
解决方法:打开你这个OSX虚拟机的目录,找到虚拟机的配置文件 xxxxx.vmx,用记事本打开,在最后部分添加一行 smc.version = "0" 保存后即可忽略这个错误。
![](http://images0.cnblogs.com/blog2015/494018/201507/302246245323799.png)
c.和旧版本不同, OSX10的磁盘工具改到了标题栏里。
![](http://images0.cnblogs.com/blog2015/494018/201507/302254133144350.png)
2.把 Xcode7 Beta 和 XE8up1的PAServer放到一个U盘里(需要4G以上空间), U盘需要先格式化为FAT32, 因为OSX不能识别NTFS格式。
有不明真相的群众问我为何虚拟机和物理机共享文件要用U盘,那只是因为:我们装OSX不是为了黑苹果,而是为了编译程序,U盘是最方便的东西,如果你用传统方式给虚拟机映射共享文件夹,那你需要安装VM tool,何苦呢。
---------------------------------------------------------------
这是8G的U盘,抽烟的程序员只需要少抽2包就有了。模拟器也是可以先下载的,因为在Xcode里那个下载速度严重受不了。
![](http://images0.cnblogs.com/blog2015/494018/201507/301013045485216.jpg)
3.安装PAServer、Xcode7,具体操作可以翻看以前的文章。
设置好Xcode版本。
![](http://images0.cnblogs.com/blog2015/494018/201507/310028357825668.png)
下载好相应的SDK。可以先下载好,再放进Xcode也行,避开Xcode的龟速下载。
![](http://images0.cnblogs.com/blog2015/494018/201507/310029268456400.png)
4.利用Xcode7生成证书、AppID、Profile。
---------------------------------------------------------------
1.运行Xcode,Xcode打开后,点左上角菜单'Xcode',点'Preferences'。
![](http://images0.cnblogs.com/blog2015/494018/201507/310030322984839.png)
2.在打开的窗口中,点'Accounts',切换到账号页,然后点下面的'+'号,在弹出菜单中点击'Add Apple ID'。
![](http://images0.cnblogs.com/blog2015/494018/201507/310030450795900.png)
3.在弹出的对话框中,填入你的AppleID和密码(不需要$99的账号,只要能登录AppStore下载应用的普通账号就行)。填完后,点击'Add'。
![](http://images0.cnblogs.com/blog2015/494018/201507/310030598927374.png)
4.假如账号密码正确的话,Xcode会将账号添加到账号列表,点击左侧的账号,可列出该账号的开发授权,Agent表示该账号是付费账号,Free表示未付费但可免费调试。
我们双击它。
![](http://images0.cnblogs.com/blog2015/494018/201507/310031126268151.png)
5.这里证书和授权文件是空白的,点中间的'+'号,在弹出的项中选择'iOS Development'。
![](http://images0.cnblogs.com/blog2015/494018/201507/310031368291491.png)
6.稍等一下,证书就自动生成了,是以你的账号命名的。
![](http://images0.cnblogs.com/blog2015/494018/201507/310031555329776.png)
7.而下面的Provisioning Profiles是空白的,因为我们还没有提交过ID和设备UDID,这里肯定是空白的。点'Done'关掉它。
![](http://images0.cnblogs.com/blog2015/494018/201507/310034080798949.png)
8.继续,这个窗口不用管它,我们点击'Window'->'Devices'。同时将真机接到电脑中,并连接上。
![](http://images0.cnblogs.com/blog2015/494018/201507/310034410957795.png)
9.识别了设备后,等待Xcode自动为你开启调试模式,如果长时间卡在菊花这里,请解锁真机,并在真机弹出的对话框中点'信任'。
当真机准备完毕后,可以把此窗口关掉。
![](http://images0.cnblogs.com/blog2015/494018/201507/310035567202525.png)
10.PP文件必须由苹果来生成,那么我们来利用Xcode为我们生成一个。
点击'File' -> 'New' -> 'Project',新建一个Xcode工程。
![](http://images0.cnblogs.com/blog2015/494018/201507/310038027515290.png)
11.选择iOS类型,随便选个模型,'Next'。
![](http://images0.cnblogs.com/blog2015/494018/201507/310038407982733.png)
12.在工程名中填上内容,AppID则会自动根据此而生成。Devices里如果你的是iPhone则选择iPhone。'Next'。
![](http://images0.cnblogs.com/blog2015/494018/201507/310039334396950.png)
13.选择位置保存,我是放在桌面的,所以点桌面,然后在空白地方右键,'New Folder',新建一个文件夹来放这个工程。
![](http://images0.cnblogs.com/blog2015/494018/201507/310041270954893.png)
14.双击进入新建的文件夹。
![](http://images0.cnblogs.com/blog2015/494018/201507/310042446262009.png)
15.点'Create'保存。
![](http://images0.cnblogs.com/blog2015/494018/201507/310043100016889.png)
16.选择了保存位置后,马上就进入工程,因为Xcode7自带iOS9,而我们的设备只是8.3,下载的SDK也是8.3的,所以先将版本降低,这里先选8.3。
![](http://images0.cnblogs.com/blog2015/494018/201507/310044252679961.png)
17.点一下这里,选择我们的设备。('Devices'里的设备类型会自动读取新建工程时的设置,如果不正确则需要选择正确的类型)
![](http://images0.cnblogs.com/blog2015/494018/201507/310048219073200.png)
18.选择你连接到MAC中的设备,如果这里选不了,你就得先回到第16步降低版本。
![](http://images0.cnblogs.com/blog2015/494018/201507/310048365327432.png)
19.然后点'Team'这里。
![](http://images0.cnblogs.com/blog2015/494018/201507/310049532209502.png)
20.Xcode会自动读出我们前面添加的账号,选择它。
![](http://images0.cnblogs.com/blog2015/494018/201507/310050231737053.png)
21.然后点'Fix IsSue',让苹果为我们生成Provisioning profiles。
![](http://images0.cnblogs.com/blog2015/494018/201507/310051137202643.png)
22. 这个过程是全 (不需要我们填这表) 自 (填那表) 动 (还得证明你妈是你妈) 的。。。
![](http://images0.cnblogs.com/blog2015/494018/201507/310053141893140.png)
23.能看到这些都可以选好了,就表示文件已经在遥远的他方里生成了。我们来下载回来。
![](http://images0.cnblogs.com/blog2015/494018/201507/310054465643485.png)
24.点菜单'Xcode' -> 'Preferences'。
![](http://images0.cnblogs.com/blog2015/494018/201507/310100358608839.png)
25.双击打开。
![](http://images0.cnblogs.com/blog2015/494018/201507/310101259077217.png)
26.点一下左下角的'刷新',稍等一下,Xcode就会为我们把远在他方的PP文件下载回来。在刷出来的PP文件上点'右键',选择'Show in Finder'。
![](http://images0.cnblogs.com/blog2015/494018/201507/310102285959697.png)
27.双击它,自动将它安装到真机上。(前提是你的设备必须连着MAC)
![](http://images0.cnblogs.com/blog2015/494018/201507/310103358926605.png)
28.窗口一闪,闪回刚才的地方,就表示已经安装好了。我们来验证一下。
![](http://images0.cnblogs.com/blog2015/494018/201507/310105441105268.png)
29.点菜单'Window' -> 'Devices'。
![](http://images0.cnblogs.com/blog2015/494018/201507/310106277675263.png)
30.在'Devices'中,右键点我们的真机,选择'Show Provisioning Profiles'。
![](http://images0.cnblogs.com/blog2015/494018/201507/310107125799273.png)
31.很好,已经看到了,我们点'Done'关掉它。
![](http://images0.cnblogs.com/blog2015/494018/201507/310108135487014.png)
32.'Devices'窗口也关掉。
![](http://images0.cnblogs.com/blog2015/494018/201507/310108525017314.png)
33.'Accounts'窗口也关掉。
![](http://images0.cnblogs.com/blog2015/494018/201507/310109209077435.png)
34.把Xcode的工程最小化,因为等下我们还要用到。我们去打开PAServer。
![](http://images0.cnblogs.com/blog2015/494018/201507/310109580482023.png)
35.点一下桌面空白处,回到桌面后,点'前往' -> '应用程序'。
![](http://images0.cnblogs.com/blog2015/494018/201507/310111032201844.png)
36.运行PAServer 16.0
![](http://images0.cnblogs.com/blog2015/494018/201507/310112012515316.png)
37.运行中,状态良好。。
![](http://images0.cnblogs.com/blog2015/494018/201507/310112313458421.png)
38.回到Windows,在XE8里添加iOS SDK,这里不详细说了,可以翻看旧的文章。配置好后,我们打开一个工程,这里选择自带的某个Demo,选好编译类型和设备。
![](http://images0.cnblogs.com/blog2015/494018/201507/310113336899175.png)
39.点'Project' -> 'Options',我们来配置证书。
![](http://images0.cnblogs.com/blog2015/494018/201507/310115291103547.png)
40.打开Options后,选择'Version Info',在CFBundleIdentifier中,填上Xcode中我们建的工程所生成的Bundle Identifier。下面版本默认7.1,只要设置不高于真机版本即可。
![](http://images0.cnblogs.com/blog2015/494018/201507/310206436738418.png)
41.Bundle identifier填好后,点左下角的'Proisioning','Target' 上选择 'Debug' 里的 'iOS Device - 32bit'。
![](http://images0.cnblogs.com/blog2015/494018/201507/310119177046177.png)
42.在'Build Type'中,选择 'iOS Device -32bit-Development'。
![](http://images0.cnblogs.com/blog2015/494018/201507/310120413928042.png)
43.'Provision Profile'中,选择你的PP文件,如无意外,XE8可以正确获取到的。
![](http://images0.cnblogs.com/blog2015/494018/201507/310121475959150.png)
44.'Developer Certificate'中,选择我们的证书,如无意外,XE8可以正确获取到的。
![](http://images0.cnblogs.com/blog2015/494018/201507/310123174853156.png)
45.全部正确的话,这里其实已经和付费账号一样的操作了,就是编译APP。
![](http://images0.cnblogs.com/blog2015/494018/201507/310124340179741.png)
46.运行工程,很快就能在我们的真机上看到FireMonkey的图标了。看到下面的信息,表示真机上的App已经在运行了。
![](http://images0.cnblogs.com/blog2015/494018/201507/310125331265784.png)
47.附真机运行App截图 (iPad Mini2, iOS8.3)
![](http://images0.cnblogs.com/blog2015/494018/201507/310133533926682.png)
到此,XE8+Xcode7的真机调试已完成。
EMB在XE8中加入了Provisioning profile的位置读取,这导致原来的自建证书真机调试无法再实现,幸好苹果总能给人带来好消息。
但是有条件的还是买个证书支持一下吧,因为现在只要一次付费,就能开发iOS和OSX。
PS:
---------------------------------------------------------------
FireMonkey移动开发可加QQ群:165232328 (本人非管理员,仅仅其中一成员,此群高手林立,期待各位Delphi爱好者共同交流)。
相关文章推荐
- iOS-代理委托的使用
- android 屏幕旋转 activity中多个fragment重叠
- Android汉字转拼音HanziToPinyin
- iOS属性传值(视图控制器viewController的执行顺序的理解和懒人加载的理解)
- Android 5.0内核和源代码学习(2)——源码下载和系统启动过程分析
- iOS -读取plist文件
- android 学习资料
- 【微信分享】王团结:如何用Hadoop/Spark构建七牛数据平台
- iOS8新特性扩展(Extension)应用之二——分享插件
- Android Studio在集成了ShardSDK的项目中进行代码混淆
- android Intent机制详解
- Android中Service类onStartCommand
- Android 应用启动界面自定义
- 3.2 cocos2d-x渲染
- Objective C语言----类,对象,方法总结
- 【Android】做一个单项问答题的app
- Android环境搭建GOOD
- android 更改popupwindow 的键盘弹出类型
- Android中实现可滑动的Tab的3种方式
- Multiple dex files define Lcom/ta/utdid2/android/utils/UTDID