Upload
imshining-devcamp
View
2.994
Download
6
Embed Size (px)
DESCRIPTION
《Passbook实战详解》 | iOS DevCamp | 7月27日 北京 话题简介:iOS6发布后最值得关注的一个特性即为Passbook。本演讲将结合爱图腾的实践,对iOS6中推出的Passbook应用及相关的开发细节进行讲解,详细说明Passbook和其中的内容的完整的声明周期,从开发的角度讲解passbook 卡片数据包的创建、卡片内容的定义、卡片如何打包、卡片的发布渠道等基本内容,以及更深入的卡片与iOS应用之间的交互处理和卡片的数据更新等相关内容的讲解。 讲师简介:廉洁,爱图腾科技的技术总监,有多年从事Java开发和Javascript前端开发的经验,是国内最早的一批iOS开发者。
Citation preview
iOS DevCamp
Produced by CSDN Website: http://devcamp.csdn.net Weibo: http://weibo.com/cmdnclub
PassBook实战廉洁
爱图腾科技 技术总监
Pass的更新
什么是PassBook & Pass
Pass的生命周期
如何制作⼀一个Pass 数据包
pass.json结构详解
相关应用的开发
什么是PassBook
什么是PassBook
DEMO
什么是Pass
u 类似于bundle的⼀一个数据包
u 签名并打包
u pass.json
u icons
u images
u resources
Pass的生命周期
生产环节 服务器
流通环节 系统默认支持:safari,mail
伴生应用 展示使用环节 PassBook应用
如何制作⼀一个Pass 数据包
基础环境准备
Pass.json准备 打包 发布
如何制作⼀一个Pass 数据包 基础环境准备
创建Pass Type ID
如何制作⼀一个Pass 数据包 基础环境准备
配置并导出Pass Certificate
如何制作⼀一个Pass 数据包 基础环境准备
成果⼀一:Pass Type ID和team ID
passTypeIdentifier:pass.itotem.com.cn.testpass
teamIdentifier:K279JK6VK9
成果二:用于服务器端签名运算的证书
如何制作⼀一个Pass 数据包 Pass.json准备
⼀一、选择⼀一个Pass类型
u Coupons
u Store cards
u Boarding passes
u Event tickets
u Generic
如何制作⼀一个Pass 数据包 Pass.json准备
二、根据选择的类型从苹果提供的例子进行修改
如何制作⼀一个Pass 数据包
创建manifest.json文件
使用Certificate
创建signature签名文件
将所有文件zip打包
添加.pkpass扩展名
如何制作⼀一个Pass 数据包
发布
如何制作⼀一个Pass 数据包
DEMO
Pass.json结构详解
Top Level Keys
Lower Level Keys
Field Dictionary Keys
Pass
pass.json结构详解
Top Level Keys
u Standard Keys
u Relevance Keys
u Visual Appearance Keys
u Style-Specific Information Keys
u Web Service Keys
pass.json结构详解
u Standard Keys
pass.json结构详解
u Relevance Keys
pass.json结构详解 u Visual Appearance Keys
pass.json结构详解
u Style-Specific Information Keys
pass.json结构详解
u Web Service Keys
pass.json结构详解
Lower Level Keys
u Style-Specific Dictionary Keys
u Location Dictionary Keys
u Barcode Dictionary Keys
pass.json结构详解 u Style-Specific Dictionary Keys
pass.json结构详解 u Style-Specific Dictionary Keys
Header Fields
Primary Fields
Auxiliary Fields Secondary Fields
pass.json结构详解
u Location Dictionary Keys
pass.json结构详解 u Barcode Dictionary Keys
pass.json结构详解 u Barcode Dictionary Keys
四种不同的Barcode示例
pass.json结构详解
Field Dictionary Keys
u Standard Field Dictionary Keys
u Date Style Keys
u Number Style Keys
u Store Card Dictionary Keys
pass.json结构详解 u Standard Field Dictionary Keys
pass.json结构详解 u Standard Field Dictionary Keys
pass.json结构详解 u Date Style Keys
pass.json结构详解 u Date Style Keys
pass.json结构详解 u Number Style Keys
pass.json结构详解 u Store Card Dictionary Keys
pass.json结构详解 u Store Card Dictionary Keys
PassBook相关应用的开发
基本原则
PassKit介绍
如何显示已有Pass
如何获取新的Pass
如何修改Pass
兼容性检查
PassBook相关应用的开发
基本原则
不要开发 非必要的应用
不要开发 替代PassBook的应用
不要开发 只能在某应用上才能使用的pass
PassBook相关应用的开发
u PKPassLibrary
u PKPass
u PKAddPassesViewController
u PKAddPassesViewControllerDelegate
PassKit介绍
PassBook相关应用的开发
如何显示已有Pass
只能显示已知类型的pass,需要在Entitlements中声明
PassBook相关应用的开发
如何显示已有Pass
获取Pass列表
获取Pass.pkpass中的数据
PassBook相关应用的开发
如何显示已有Pass
在PassBook中显示
PassBook相关应用的开发
如何获取新的Pass
u Pass数据包需要从服务器端获得
u 相关代码
PassBook相关应用的开发
如何修改Pass
u PKPass是inmutable,只能替换不能修改
PassBook相关应用的开发
兼容性检查
u 必要系统版本检查
u 目前ipad上不支持PassBook
Pass的更新
使用场景
更新的交互过程
pass.json中配置
服务器端实现细节及注意事项
Pass的更新
使用场景
u 机票更改登机口
u store card中余额改变
u 卡片上的时间改变
u 其他…
Pass的更新
pass.json中配置
Pass的更新
更新的交互过程
1.PassBook 通过webServiceURL向服务器注册
2.服务器通过APNS通知PassBook有更新
3.PassBook向服务器询问哪些Pass需要更新
4.PassBook向服务器请求需要更新的Pass数据包
Pass的更新
服务器端实现细节
注意事项
不要滥用Push更新功能
参考官方文档及WWDC session
爱图腾科技 Next App Generation
谢谢!