傻瓜教程:把Iphone程序连接真机调试_buruifeng的博客-程序员秘密

技术标签: 真机调试及发布程序  

对于真机调试,首先要在苹果网站上注册APP ID,以及购买iPhone Develop Program(iDP) 开发者授权,99美元。然后要创建证书请求CSR,创建步骤如下: 

 

 

设置OCSP和CRL为关闭状态。 


 

 

Mac OS 中,打开应用程序,找到 钥匙串访问(Keychain Access)工具打开主菜单 - 证书助理(Certificate Assistant)-从证书代理请求证书(Request a Certificate From a Certificate Authority)输入iDP注册时的email,用户名自定义,选择“存储到磁盘”,选择‘Let me specify key pair information’。 

 

 

选择保存路径,证书请求创建成功。 

1.接下来就可以登录iDP Portal提交证书请求了,到这个页面 
http://developer.apple.com/iphone/manage/certificates/team/index.action 


 

 

点Development,‘Request Certificate’,然后点Browser,添加刚才生成的证书,点submit。 


 

点击Approve,一分钟后会生成一个.cer文件。 

 

下载Download,双击它。 

 

单击“好”,就可以把certificate加入到keychain里面了。 

2. 现在注册设备了,通过xcode的organizer或者itunes都可以查看你的机器的udid。在上面那个页面里关联一下即可。这个页面有详细介绍 
http://developer.apple.com/iphone/manage/devices/howto.action 

打开XCODE,在window菜单下,点击Organizer,出现这个页面(前提是要连上真机哦) 

 

identifier那一行字符就是device id了,复制它。打开http://developer.apple.com/iphone/manage/devices/index.action 

 

点击“Add Devices” 

 

给device name取个自己的名字,把之前复制的字符粘贴到Device ID那,点下面的submit就可以了 

3. 生成APP ID, 创建应用程序,需要指定程序的ID,在网站上创建一个APP ID,这个ID可以是针对一个程序也可以针对多个程序,假设现有一个程序test,可以指定它的ID为com.thinkrace.test或者是com.thinkrace.* 在站点上创建好,对于 com.thinkrace.* 可以适合所有的程序。还有很重要一点要注意的是,这个ID对应的是你的程序Targets里的name,不是你程序本身的名字,这里要注意的一点是:如果你的APP ID是用*号代替的,那么在SDK3.0环境里,Targets里的name不能写成类似com.thinkrace.*这样的,后面的*号依然可以用任何字符代替,但是不能用*,会报错的,而在SDK3.0之前的环境可以用*,这里说的这种情况是APP ID用*代替的,不用*代替则无所谓了。改好了name后还要在Targets里把build项里的iphone developer改成你的provisioning,这就可以了(不过这要等你生成了provisioning,最后调试的时候改)。具体做法见下图 

 
打开网页http://developer.apple.com/iphone/manage/bundles/index.action 

 

不带*的形式 

 

带*的形式 

4. 最后可以生成Provisioning Profiles了,这个最为重要,上面做的一切都是为了它,很简单的,一分钟之内会生成DOWNLOAD,下载就可以了。不会的话可以参考http://developer.apple.com/iphone/manage/provisioningprofiles/howto.action 

 

点击“New Profile” 

 

点击“submit”,一分钟内会生成DOWNLOAD 

 

下载provisioning,双击,用Xcode打开。 

5. 真机调试 

安装Provisioning,双击即可。连接iPhone/iPod,使用XCode -> Window -> Organize打开,如果连接了iPhone,会在Device中显示相应的设备,点击 “Use Device for Develop”,开发中运行设备中可以选择响应的Device,还有很重要的一点就是Iphone SDK要和真机版本一致,版本不兼容的话会出现找不到设备之类的错误,我深有体会。以上所有步骤在这面这个页面有视频教程http://developer.apple.com/iphone/videos/popupappids.action 

大家可以参考下。 

 

随便新建个项目,比如OpenGL ES Application 

 

打开Target test 

 
注意identifier里的内容 

 

build改成对应的provisioning,build&go。真机顺利跑起来 

http://v.youku.com/v_show/id_XMzEyOTUwODMy.html   视频教程

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/buruifeng/article/details/9391883

智能推荐

Android在一个TextView里显示不同样式的字体_Android-kongqw的博客-程序员秘密

在同一个TextView里显示不同样式的字体public void setSpan(Object what, int start, int end, int flags);样式1:背景色、粗体、字体大小效果CodeTextView textView = (TextView) findViewById(R.id.text_view_font_1);Spannable string = new S

正太分布函数 oracle,Oracle随机函数_weixin_39668470的博客-程序员秘密

Oracle随机函数—dbms_random1.基础认识关于这些函数及DBMS_RANDOM包的文件都包含在SQLPlus中:select text from all_sourcewhere name = 'DBMS_RANDOM'and type = 'PACKAGE' order by line;◆ TYPE num_array◆ PROCEDURE terminate◆ PRO...

Kafka-重置消费者offset到最新的位置_一一空的博客-程序员秘密_kafka重置offset为最新

获取topic下所有的partion 计算每个partion的offset 将分区offset移动最新的位置 提交分区最新的位置如下代码public class KafkaConsumerOffsetManager { private KafkaConsumer consumer; private String topic; public KafkaConsumerRunnable(KafkaConsumer consumer, String topic) {

Matlab 提示java.lang.OutOfMemoryError 错误_团.Teixeira的博客-程序员秘密

首先排除程序进入死循环的可能,排除后,这个问题与代码无关,只需调节java虚拟机的内存大小主页-预设-常规-java堆内存 里,将内存大小调至合适值,重启matlab即可 注:最大内存值为PC内存的四分之一,若调至最大仍然无法解决,尝试加装内存条或优化代码吧。...

nii切png_Fly*Boy的博客-程序员秘密

import nibabel as nibimport numpy as npimport imageioimport osdef read_niifile(niifile): # 读取niifile文件img = nib.load(niifile) # 下载niifile文件(其实是提取文件)img_fdata = img.get_fdata() # 获取niifile数据return img_fdatadef save_fig(file): # 保存为图片fdata = rea

【教程】从人脸检测与比对,实测七牛云人脸核验 API_我爱计算机视觉的博客-程序员秘密

关注公众号,发现CV技术之美导言: 本文将会实测七牛云的人脸识别 API,从应用开发者的角度来验证这套 API 的可用性。文中会选用人脸比对、权威人脸比对和人脸检测这3个API来...

随便推点

C++ Namespace 详解_Hiidiot的博客-程序员秘密

C++ Namespace 详解  2010-08-27 15:08:05|  分类:默认分类 |  标签:|字号大中小 订阅命名空间的定义格式为:(取自C++标准文档)named-namespace-definition:       namespace identifier { namespace-body }unnamed-namespace-de

IntelliJ Idea导入外部Eclipse\MyEclipse项目_cpongo311111的博客-程序员秘密

一年一度的毕业季来到啦,很多毕业党对于新买来的毕设总有一个头痛的问题:项目的导入,运行,部署!今天小编就这个问题给大家细细道来,其实部署一下也就那么回事。拿到一个毕设,首先就是导入毕设(小编以Mac系统为例,Windows系统大家可以参考)第一步:打开IntelliJ Idea,点击File-New-Project from Existing Sources第二步:选择要导入的项目...

Prim & Dijkstra & Floyd 算法实现、联系与区别 && 使用Floyd算法求次短路径_lunat:c的博客-程序员秘密

Prim & Dijkstra & Floyd 算法实现、联系与区别 && 使用Floyd算法求次短路径目录文章目录Prim & Dijkstra & Floyd 算法实现、联系与区别 && 使用Floyd算法求次短路径目录掏心窝子基础知识算法详解一、Prim算法1、文字描述2、结构确定3、过程演示4、代码解析5、运行结果二、Dijkstra算法1、文字描述2、结构确定3、过程演示4、代码解析5、运行结果三、Floyd算法1、数据结构2、代

angular项目打包出静态html,angular-cli(7.3.8)如何将生产环境打包出来的runtime.js直接写入HTML?..._七月洪流上的博客-程序员秘密

问题描述环境:最近在优化angular-cli的打包,”@angular/cli”: “~7.3.8”,angular7.2,都是最新版本默认设置。打包后生成的runtime.js文件太小,想把它直接写入到html文件中,节省一次资源请求问题:angular-cli不能直接配置webpack配置,查阅资料后:使用ngx-build-plus,额外写了一个webpack配置引用,然后用插件:Inli...

自定义事件详解以及实现有趣B站直播间弹幕轰炸功能_Specif1c的博客-程序员秘密

案例:B站直播间弹幕轰炸跳过按键监听办法:var event = document.createEvent('Event');event.initEvent('input', true, true); setInterval(()=>{ $('.chat-input.border-box').val("文本内容"); $('.chat-input.border-box')[0]....

CCPC2019秦皇岛重现赛1009 Invoker_妖怪无面男的博客-程序员秘密

原题只是一个多段图的最短路dp,我却实现了好久,真失败。失败总结:1. 逻辑不清晰,不同技能之间的转移代价一定不为0,于是我想当然的认为相同技能之间的转移代价为0(相同技能在不同顺序下转移不为0)2. 细节太差,想明白问题后,细节部分有错, u看成v,再次拖延了AC时间代码#include <bits/stdc++.h>using namespace std;// Y...

推荐文章

热门文章

相关标签