53
iOS DevCamp Produced by CSDN Website: http://devcamp.csdn.net Weibo: http://weibo.com/cmdnclub

《Passbook实战详解》| 爱图腾 廉洁 | iOS DevCamp

Embed Size (px)

DESCRIPTION

《Passbook实战详解》 | iOS DevCamp | 7月27日 北京 话题简介:iOS6发布后最值得关注的一个特性即为Passbook。本演讲将结合爱图腾的实践,对iOS6中推出的Passbook应用及相关的开发细节进行讲解,详细说明Passbook和其中的内容的完整的声明周期,从开发的角度讲解passbook 卡片数据包的创建、卡片内容的定义、卡片如何打包、卡片的发布渠道等基本内容,以及更深入的卡片与iOS应用之间的交互处理和卡片的数据更新等相关内容的讲解。 讲师简介:廉洁,爱图腾科技的技术总监,有多年从事Java开发和Javascript前端开发的经验,是国内最早的一批iOS开发者。

Citation preview

Page 1: 《Passbook实战详解》| 爱图腾 廉洁 | iOS DevCamp

iOS DevCamp

Produced by CSDN Website: http://devcamp.csdn.net Weibo: http://weibo.com/cmdnclub

Page 2: 《Passbook实战详解》| 爱图腾 廉洁 | iOS DevCamp
Page 3: 《Passbook实战详解》| 爱图腾 廉洁 | iOS DevCamp

PassBook实战廉洁

爱图腾科技 技术总监

Page 4: 《Passbook实战详解》| 爱图腾 廉洁 | iOS DevCamp

Pass的更新

什么是PassBook & Pass

Pass的生命周期

如何制作⼀一个Pass 数据包

pass.json结构详解

相关应用的开发

Page 5: 《Passbook实战详解》| 爱图腾 廉洁 | iOS DevCamp

什么是PassBook

Page 6: 《Passbook实战详解》| 爱图腾 廉洁 | iOS DevCamp

什么是PassBook

DEMO

Page 7: 《Passbook实战详解》| 爱图腾 廉洁 | iOS DevCamp

什么是Pass

u  类似于bundle的⼀一个数据包

u  签名并打包

u  pass.json

u  icons

u  images

u  resources

Page 8: 《Passbook实战详解》| 爱图腾 廉洁 | iOS DevCamp

Pass的生命周期

生产环节 服务器

流通环节 系统默认支持:safari,mail

伴生应用 展示使用环节 PassBook应用

Page 9: 《Passbook实战详解》| 爱图腾 廉洁 | iOS DevCamp

如何制作⼀一个Pass 数据包

基础环境准备

Pass.json准备 打包 发布

Page 10: 《Passbook实战详解》| 爱图腾 廉洁 | iOS DevCamp

如何制作⼀一个Pass 数据包 基础环境准备

创建Pass Type ID

Page 11: 《Passbook实战详解》| 爱图腾 廉洁 | iOS DevCamp

如何制作⼀一个Pass 数据包 基础环境准备

配置并导出Pass Certificate

Page 12: 《Passbook实战详解》| 爱图腾 廉洁 | iOS DevCamp

如何制作⼀一个Pass 数据包 基础环境准备

成果⼀一:Pass Type ID和team ID

passTypeIdentifier:pass.itotem.com.cn.testpass

teamIdentifier:K279JK6VK9

成果二:用于服务器端签名运算的证书

Page 13: 《Passbook实战详解》| 爱图腾 廉洁 | iOS DevCamp

如何制作⼀一个Pass 数据包 Pass.json准备

⼀一、选择⼀一个Pass类型

u  Coupons

u  Store cards

u  Boarding passes

u  Event tickets

u  Generic

Page 14: 《Passbook实战详解》| 爱图腾 廉洁 | iOS DevCamp

如何制作⼀一个Pass 数据包 Pass.json准备

二、根据选择的类型从苹果提供的例子进行修改

Page 15: 《Passbook实战详解》| 爱图腾 廉洁 | iOS DevCamp

如何制作⼀一个Pass 数据包

创建manifest.json文件

使用Certificate

创建signature签名文件

将所有文件zip打包

添加.pkpass扩展名

Page 16: 《Passbook实战详解》| 爱图腾 廉洁 | iOS DevCamp

如何制作⼀一个Pass 数据包

发布

Page 17: 《Passbook实战详解》| 爱图腾 廉洁 | iOS DevCamp

如何制作⼀一个Pass 数据包

DEMO

Page 18: 《Passbook实战详解》| 爱图腾 廉洁 | iOS DevCamp

Pass.json结构详解

Top Level Keys

Lower Level Keys

Field Dictionary Keys

Pass

Page 19: 《Passbook实战详解》| 爱图腾 廉洁 | iOS DevCamp

pass.json结构详解

Top Level Keys

u  Standard Keys

u  Relevance Keys

u  Visual Appearance Keys

u  Style-Specific Information Keys

u  Web Service Keys

Page 20: 《Passbook实战详解》| 爱图腾 廉洁 | iOS DevCamp

pass.json结构详解

u  Standard Keys

Page 21: 《Passbook实战详解》| 爱图腾 廉洁 | iOS DevCamp

pass.json结构详解

u  Relevance Keys

Page 22: 《Passbook实战详解》| 爱图腾 廉洁 | iOS DevCamp

pass.json结构详解 u  Visual Appearance Keys

Page 23: 《Passbook实战详解》| 爱图腾 廉洁 | iOS DevCamp

pass.json结构详解

u  Style-Specific Information Keys

Page 24: 《Passbook实战详解》| 爱图腾 廉洁 | iOS DevCamp

pass.json结构详解

u  Web Service Keys

Page 25: 《Passbook实战详解》| 爱图腾 廉洁 | iOS DevCamp

pass.json结构详解

Lower Level Keys

u  Style-Specific Dictionary Keys

u  Location Dictionary Keys

u  Barcode Dictionary Keys

Page 26: 《Passbook实战详解》| 爱图腾 廉洁 | iOS DevCamp

pass.json结构详解 u  Style-Specific Dictionary Keys

Page 27: 《Passbook实战详解》| 爱图腾 廉洁 | iOS DevCamp

pass.json结构详解 u  Style-Specific Dictionary Keys

Header Fields

Primary Fields

Auxiliary Fields Secondary Fields

Page 28: 《Passbook实战详解》| 爱图腾 廉洁 | iOS DevCamp

pass.json结构详解

u  Location Dictionary Keys

Page 29: 《Passbook实战详解》| 爱图腾 廉洁 | iOS DevCamp

pass.json结构详解 u  Barcode Dictionary Keys

Page 30: 《Passbook实战详解》| 爱图腾 廉洁 | iOS DevCamp

pass.json结构详解 u  Barcode Dictionary Keys

四种不同的Barcode示例

Page 31: 《Passbook实战详解》| 爱图腾 廉洁 | iOS DevCamp

pass.json结构详解

Field Dictionary Keys

u  Standard Field Dictionary Keys

u  Date Style Keys

u  Number Style Keys

u  Store Card Dictionary Keys

Page 32: 《Passbook实战详解》| 爱图腾 廉洁 | iOS DevCamp

pass.json结构详解 u  Standard Field Dictionary Keys

Page 33: 《Passbook实战详解》| 爱图腾 廉洁 | iOS DevCamp

pass.json结构详解 u  Standard Field Dictionary Keys

Page 34: 《Passbook实战详解》| 爱图腾 廉洁 | iOS DevCamp

pass.json结构详解 u  Date Style Keys

Page 35: 《Passbook实战详解》| 爱图腾 廉洁 | iOS DevCamp

pass.json结构详解 u  Date Style Keys

Page 36: 《Passbook实战详解》| 爱图腾 廉洁 | iOS DevCamp

pass.json结构详解 u  Number Style Keys

Page 37: 《Passbook实战详解》| 爱图腾 廉洁 | iOS DevCamp

pass.json结构详解 u  Store Card Dictionary Keys

Page 38: 《Passbook实战详解》| 爱图腾 廉洁 | iOS DevCamp

pass.json结构详解 u  Store Card Dictionary Keys

Page 39: 《Passbook实战详解》| 爱图腾 廉洁 | iOS DevCamp

PassBook相关应用的开发

基本原则

PassKit介绍

如何显示已有Pass

如何获取新的Pass

如何修改Pass

兼容性检查

Page 40: 《Passbook实战详解》| 爱图腾 廉洁 | iOS DevCamp

PassBook相关应用的开发

基本原则

不要开发 非必要的应用

不要开发 替代PassBook的应用

不要开发 只能在某应用上才能使用的pass

Page 41: 《Passbook实战详解》| 爱图腾 廉洁 | iOS DevCamp

PassBook相关应用的开发

u  PKPassLibrary

u  PKPass

u  PKAddPassesViewController

u  PKAddPassesViewControllerDelegate

PassKit介绍

Page 42: 《Passbook实战详解》| 爱图腾 廉洁 | iOS DevCamp

PassBook相关应用的开发

如何显示已有Pass

只能显示已知类型的pass,需要在Entitlements中声明

Page 43: 《Passbook实战详解》| 爱图腾 廉洁 | iOS DevCamp

PassBook相关应用的开发

如何显示已有Pass

获取Pass列表

获取Pass.pkpass中的数据

Page 44: 《Passbook实战详解》| 爱图腾 廉洁 | iOS DevCamp

PassBook相关应用的开发

如何显示已有Pass

在PassBook中显示

Page 45: 《Passbook实战详解》| 爱图腾 廉洁 | iOS DevCamp

PassBook相关应用的开发

如何获取新的Pass

u  Pass数据包需要从服务器端获得

u  相关代码

Page 46: 《Passbook实战详解》| 爱图腾 廉洁 | iOS DevCamp

PassBook相关应用的开发

如何修改Pass

u  PKPass是inmutable,只能替换不能修改

Page 47: 《Passbook实战详解》| 爱图腾 廉洁 | iOS DevCamp

PassBook相关应用的开发

兼容性检查

u  必要系统版本检查

u  目前ipad上不支持PassBook

Page 48: 《Passbook实战详解》| 爱图腾 廉洁 | iOS DevCamp

Pass的更新

使用场景

更新的交互过程

pass.json中配置

服务器端实现细节及注意事项

Page 49: 《Passbook实战详解》| 爱图腾 廉洁 | iOS DevCamp

Pass的更新

使用场景

u  机票更改登机口

u  store card中余额改变

u  卡片上的时间改变

u  其他…

Page 50: 《Passbook实战详解》| 爱图腾 廉洁 | iOS DevCamp

Pass的更新

pass.json中配置

Page 51: 《Passbook实战详解》| 爱图腾 廉洁 | iOS DevCamp

Pass的更新

更新的交互过程

1.PassBook 通过webServiceURL向服务器注册

2.服务器通过APNS通知PassBook有更新

3.PassBook向服务器询问哪些Pass需要更新

4.PassBook向服务器请求需要更新的Pass数据包

Page 52: 《Passbook实战详解》| 爱图腾 廉洁 | iOS DevCamp

Pass的更新

服务器端实现细节

注意事项

不要滥用Push更新功能

参考官方文档及WWDC session

Page 53: 《Passbook实战详解》| 爱图腾 廉洁 | iOS DevCamp

爱图腾科技 Next App Generation

谢谢!