文档章节

苹果证书

shezjl
 shezjl
发布于 2015/05/08 19:09
字数 1190
阅读 12
收藏 1

苹果证书这套东西真是能把人烦死。今天试着从头梳理一下,以后再不纠结这块了。
    目前开发的项目用到了三个证书:真机调试,苹果推送,以及发布到app store。在介绍这三个证书怎么获取之前,先说说准备工作。首先要有苹果开发者账号,在developer.apple.com就可以申请,需要支付$99每年的费用。然后需要在mac电脑上生成一个名为 CertificateSigningRequest.certSigningRequest 的文件(翻译过来应该叫“证书签名”吧)。这个文件通过 钥匙串程序-钥匙串访问-证书助理-从证书颁发机构请求证书 获得。邮箱可以随便写,然后勾选保存到磁盘就行。这个文件是后面生成各种证书的基础。
    
    真机调试
    某位大神给出了真机调试所需文件的概述:
    “苹果真机调试需要证书(Certificates)和描述文件(Provisoning Profiles)
    1、证书(Certificates) 通过苹果自带的钥匙串生成后上传到Developer中再生成来完成
    2、描述文件(Provisoning Profiles) 生成描述文件时需要选择App ID(包含Bundle,必须与你程序的bundle保持一致,为了能同时调试多个程序,一般bundle填写时末尾用*号代替,后文会具体说明)选择证书(Certificates)及设备(Devices)三样东西
    真机测试必要条件:App ID,证书,描述文件,设备,及调试程序的Bundle Identifier保持一致”

    OK,我们开始真机调试。再此之前,我先删除我的开发者中心里的所有Certificates, identifiers, 以及provisioning profile,为了写这篇教程我也真是拼了。当然devices我没有删除,因为这跟其他文件没有关系。开发者中心:
https://developer.apple.com/account/ios/profile/profileLanding.action
    首先,我们来添加App ID,它是你的app的唯一标示,App ID有四段描述分别是:name,prefix,ID,以及application service。name就是你的app的名字,prefix是一段神秘的字符,ID是com.Alfred.应用名字(这是最关键的,它就是你的app ID),application service是你的app需要开启的苹果服务。
    接下来需要添加设备。把你的iphone或者iPad或者iPod等连上电脑,在iTunes里就会看到他的UDID,复制这个字符串,在开发者中心的device里添加一个设备,填写这个UDID就可以。
    接下来,添加证书(certificates)。选择certificates-development,选择iOS app development,然后上传已经准备好的CertificateSigningRequest.certSigningRequest文件。开发者中心会为你生成证书文件(certificate),下载它,然后双击安装。
    接下来,添加描述文件(provisioning profile)。选择provisioning profile-development,选择iOS app development,再选择你刚添加的App ID,选择你刚刚添加的证书,再选择你已经添加的设备(device)。最后编辑这个描述文件的名字。然后下载,双击安装。
     最后,检查你的Xcode里,此项目的.plist文件中bundle identifiers是否跟你的app ID一致就好了。然后run your app on your device

    发布到app store
    1.首先需要发布(distribution)证书和描述文件。
    在certificates-distribution下新建一个证书,选择App Store and Ad Hoc,然后上传CertificateSigningRequest.certSigningRequest,生成证书文件。下载,双击安装。
    接下来,生成证书对应的provisioning profile(描述文件)。在provisioning profile-distribution中新建一个描述文件,选择app store。然后选择自己的App ID,选择与之对应的证书。然后填写profile name,需要与App ID的后缀,也就是你的程序名称一样。然后下载,双击安装。
    2.然后需要打包应用成ipa文件。
    打包的步骤:
    1)把模拟器设置成iOS Device,在product-scheme-edit scheme中,设置Run和Archive为release。
    2)把Targets ---- Build Setting ---->>> Skip Install ---->Release 设为 No
    3)点击product-archive,应该就能success了,然后organizer-archive会自己弹出。如果弹不出就去window-organizer中自己打开。
    4)如果第3步走不通,就看看project-build settings-code signing是不是识别了你的证书。没识别就自己手动修改一下。
    5)在organizer-archive中导出ipa
    6)在Xcode的程序包里有一个application loader的应用,用来上传ipa,但是如果你是Xcode 6,建议不要用它自带的那个3.0版的application loader,去网上下一个2.9版本的。
    7)打包且上传结束。
    8)如果你之前上传过一次,那么这次可能会遇到version重复不能上传的问题,可以参考这个文章解决http://stackoverflow.com/questions/25680604/error-itms-9000-redundant-binary-upload-there-already-exists-a-binary-upload

    参考:
    目前最清晰的真机测试的文章:http://my.oschina.net/joanfen/blog/167730#OSC_h2_1
    发布证书的文章:http://my.oschina.net/joanfen/blog/133624

本文转载自:

shezjl
粉丝 10
博文 123
码字总数 38143
作品 0
成都
程序员
私信 提问
iOS证书说明和发布内购流程整理

网上关于苹果证书的生成和设置的教程比较多,但大多数只是讲了相关流程和步骤,有的也只是简要进行了相关说明,总之介绍的不够详细,自己最初在接触的时候也是比较困惑,下面进行总结。请结合...

蛙牛
2015/05/19
7.3K
9
ios推送-我不告诉你具体怎么做

我这里不说具体怎么做推送怎么导包,就说说我对推送的理解,和各个属性之间关系,哪里错了希望大神指点。 以下都是查询资料后自己的看法: 一、推送是怎么实现的。 首先明确一点iOS的推送都是...

隔壁班小明
2018/04/18
0
0
苹果怒封Google、FB:私下购买用户隐私被制裁,数万员工受牵连

晓查 乾明 发自 凹非寺 量子位 报道 | 公众号 QbitAI 神仙大战,热闹非凡。 这就是最近国外最轰动的科技大新闻。 乍一看,是一贯霸道强势的苹果封杀Facebook和Google。 两家公司通过企业开发...

量子位
02/01
0
0
【新技术】不用付费开发者账号申请ios证书真机调试

虽然xcode现在可以免证书进行测试了,但众多跨平台开发者,如果还没注册苹果开发者账号。 想安装到自己非越狱手机测试是无能为力了。 不过新技术来了,只需要普通免费的苹果账号无需付费成为...

简符
2017/08/03
1K
0
iOS 如何升级到https

由于苹果规定2017年1月1日以后,所有APP都要使用HTTPS进行网络请求,否则无法上架,因此研究了一下在iOS中使用HTTPS请求的实现。网上搜索了一些比较有用资料,大家可以参考下 苹果强制升级的H...

卡奇匠
2016/12/13
229
0

没有更多内容

加载失败,请刷新页面

加载更多

mysql-connector-java升级到8.0后保存时间到数据库出现了时差

在一个新项目中用到了新版的mysql jdbc 驱动 <dependency>     <groupId>mysql</groupId>     <artifactId>mysql-connector-java</artifactId>     <version>8.0.18</version> ......

ValSong
今天
5
0
Spring Boot 如何部署到 Linux 中的服务

打包完成后的 Spring Boot 程序如何部署到 Linux 上的服务? 你可以参考官方的有关部署 Spring Boot 为 Linux 服务的文档。 文档链接如下: https://docs.ossez.com/spring-boot-docs/docs/r...

honeymoose
今天
6
0
Spring Boot 2 实战:使用 Spring Boot Admin 监控你的应用

1. 前言 生产上对 Web 应用 的监控是十分必要的。我们可以近乎实时来对应用的健康、性能等其他指标进行监控来及时应对一些突发情况。避免一些故障的发生。对于 Spring Boot 应用来说我们可以...

码农小胖哥
今天
8
0
ZetCode 教程翻译计划正式启动 | ApacheCN

原文:ZetCode 协议:CC BY-NC-SA 4.0 欢迎任何人参与和完善:一个人可以走的很快,但是一群人却可以走的更远。 ApacheCN 学习资源 贡献指南 本项目需要校对,欢迎大家提交 Pull Request。 ...

ApacheCN_飞龙
今天
5
0
CSS定位

CSS定位 relative相对定位 absolute绝对定位 fixed和sticky及zIndex relative相对定位 position特性:css position属性用于指定一个元素在文档中的定位方式。top、right、bottom、left属性则...

studywin
今天
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部