文档章节

iOS证书说明和发布内购流程整理

蛙牛
 蛙牛
发布于 2015/05/19 13:30
字数 1322
阅读 7351
收藏 261

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


关于证书

1.首先通过钥匙串访问——证书助理——从证书颁发机构请求证书——填写证书信息(邮箱,常用名称,存储到磁盘)——存储为(自定义名称.certSigningReuqest,简称CSR文件,只是为了提交到苹果开发者账号中,然后就没用了)到本地

2.苹果开发者账号中,创建证书(Development和Production)——上传CSR文件——下载证书运行 ( xxx.cer文件)

注意:只有在当前电脑中生成本地生成证书,上传到苹果开发账号,然后下载cer文件运行后,钥匙串中才有证书以及对应的秘钥


如果开发者B,登录开发者账号,下载证书(cer文件)运行,只有证书没有秘钥,是不能正常使用的

所以如果有新同事加入到开发组的时候,应该从本地钥匙串中选择证书,导出p12文件(包含证书和秘钥)给同事。另外可以给同事一份Provisioning Profiles文件(配置文件),用于本地开发识别测试设备

导出p12文件:钥匙串——选择证书——右键导出——存储为——设置p12文件密码

(发给同事后,双击p12文件,输入密码,本地安装证书成功)

需要强调一点,证书和项目关系其实并不大,证书一般有效期只有一年,当证书过期后,只需要重新生成一份证书,上传到开发者账号就行,同时因为原有证书过期,需要重新生成Provisioning Profiles文件。然后给同事们最新的p12文件和Provisioning Profiles文件就行

所以开发者账号中的证书,配置文件是可以放心操作的(比如误删了,或者找不到证书秘钥了)


xcode中添加苹果开发者账号

Xcode工具栏——Xcode——Preferences——Accounts—— 左下角 Add Apple ID——输入苹果账号,密码

在项目的target——general——team中可以选择项目对应的开发者账号

(当bulid的新设备未在开发者账号的devices添加devicetoken的时候,xcode会进行提示无法识别设备,可以在xcode中fix issue,xcode会自动在开发者账号中,创建一个新的针对这个设备的Provisioning Profiles配置文件,然后安装到本地,唯一的不好就是开发者账号的配置文件下会有很多零散的配置文件)

关于App的发布

修改项目的version,以及项目的版本debug为release

debug改为release后需要进行测试,一些第三方类库可能release版会有一些不兼容

Product——Scheme——Edit Scheme 修改 Run/Test/Analyze/Archive 的build configuration  (发布的时候,只需要Archive就可以了)

苹果开发者中心——iTunes Connect——我的APP——创建/选择应用——填写基本修改/添加新版本(构建版本)

发布验证

Product——Desination——选择iOS Device 

Product——Archive——右侧点击Validate——选择证书——validate——等待——Validate Successful——右侧点击Submit to App Store(提交构建版本)——Submission Successful

苹果开发者中心——iTunes Connect——我的APP——选择应用——提交构建版本成功——选择自动发布/手动发布——提交审核

等待审核


关于苹果内购

传送门:专题:iOS应用内置付费IAP

购买流程:

1. 程序向服务器发送请求,获得一份产品列表。

2. 服务器返回包含产品标识符的列表。

3. 程序向App Store发送请求,得到产品的信息。

4. App Store返回产品信息。

5. 程序把返回的产品信息显示给用户(App的store界面)

6. 用户选择某个产品

7. 程序向App Store发送支付请求

8. App Store处理支付请求并返回交易完成信息。

9. 程序从信息中获得数据,并发送至服务器。

10. 服务器纪录数据,并进行审(我们的)查。

11. 服务器将数据发给App Store来验证该交易的有效性。

12. App Store对收到的数据进行解析,返回该数据和说明其是否有效的标识。

13. 服务器读取返回的数据,确定用户购买的内容。

14. 服务器将购买的内容传递给程序。


因为涉及到ipa破解软件,存在假购买情况,需要后台进行订单验证

下图自己画的基于ios7的购买流程图(前后台接口调用验证等)

© 著作权归作者所有

蛙牛

蛙牛

粉丝 531
博文 46
码字总数 48937
作品 1
朝阳
程序员
私信 提问
加载中

评论(9)

开源中国最帅没有之一
开源中国最帅没有之一
蛮不错的分享
zhangrurong
zhangrurong
\(≧▽≦)/\(≧▽≦)/\(≧▽≦)/赞了
扬心舞动
扬心舞动
1233
蛙牛
蛙牛 博主

引用来自“Glitter”的评论

不错,干货啊~
蛙牛
蛙牛 博主

引用来自“maplewang”的评论

谢谢分享
Glitter
Glitter
不错,干货啊~
maplewang
maplewang
谢谢分享
渔樵耕读
渔樵耕读

引用来自“水涵”的评论

不做ios了~~账号过期了~~~~
但是偶尔还是写个东西玩,想在真机上跑 怎么破?
淘宝15块钱买的证书认证下
水涵
水涵
不做ios了~~账号过期了~~~~
但是偶尔还是写个东西玩,想在真机上跑 怎么破?
iOS 学习资料整理

视频教程(英文) Developing iOS 7 Apps for iPhone and iPad 斯坦福开放教程之一, 课程主要讲解了一些 iOS 开发工具和 API 以及 iOS SDK 的使用, 属于 iOS 基础视频 iPad and iPhone Applic...

拉偶有所依
2015/01/19
2.5K
5
iOS APP上架App Store流程

上架iOS需要一个付费688的开发者账号,还没有的话申请一个或者借用。 申请苹果开发者账号教程 上架App Store之前是先安装到苹果手机测试调试好,app能正常运行再上架 iOS真机调试测试教程 上...

Code辉
2018/12/04
200
1
iOS炫酷动画图案、多种选择器、网络测速、滑动卡片效果等源码

iOS精选源码 对网络进行测速(http://www.code4app.com/thread-31311-1-1.html) 自实现大标题,配合原生骨架屏demo(http://www.code4app.com/thread-31316-1-1.html) 简单方便的pickerVIew记录...

Android爱开源
2018/11/08
96
0
OSChina 开源周刊第35期 —— 克服对 React 的恐惧,然后爱上它

每周技术抢先看,总有你想要的! 开源资讯 Java:持续革新的 20 年 要怎样和程序猿谈一场没有 bug 的恋爱 Windows 7 份额居高不下 微软肯定“恨疯了” 怎样尊重一个程序员 首款搭载龙芯1C开源...

OSC编辑部
2015/05/24
2.2K
0
转:基于IOS上MDM技术相关资料整理及汇总

一、MDM相关知识: MDM (Mobile Device Management ),即移动设备管理。在21世纪的今天,数据是企业宝贵的资产,安全问题更是重中之重,在移动互联网时代,员工个人的设备接入企业网络并查...

移动互联百科
2013/10/06
397
0

没有更多内容

加载失败,请刷新页面

加载更多

02.日志系统:一条SQL更新语句是如何执行的?

我们还是从一个表的一条更新语句说起,我们创建下面一张表: create table T(ID int primary key, c int); 如果要将ID=2这一行c的值加1,SQL可以这么写: update T set c=c+1 where ID=2; 前...

scgaopan
今天
7
0
【五分钟系列】掌握vscode调试技巧

调试前端js 准备一个前端项目 index.html <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1......

aoping
今天
6
0
PhotoShop 高级应用:USM锐化/S锐化/防抖

、 高反差锐化+混合模式:叠加模式 【将更多的边缘细节添加到图像中】

东方墨天
今天
7
0
Python数据可视化之matplotlib

常用模块导入 import numpy as npimport matplotlibimport matplotlib.mlab as mlabimport matplotlib.pyplot as pltimport matplotlib.font_manager as fmfrom mpl_toolkits.mplot3d i......

松鼠大帝
昨天
5
0
我用Bash编写了一个扫雷游戏

我在编程教学方面不是专家,但当我想更好掌握某一样东西时,会试着找出让自己乐在其中的方法。比方说,当我想在 shell 编程方面更进一步时,我决定用 Bash 编写一个扫雷游戏来加以练习。 我在...

老孟的Linux私房菜
昨天
11
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部