对于真机调试,首先要在苹果网站上注册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。真机顺利跑起来