Passbook
Passbook
技术博客http://www.cnblogs.com/ChenYilong/
新浪微博http://weibo.com/luohanchenyilong



















































Passbook
技术博客http://www.cnblogs.com/ChenYilong/ "新浪微博http://weibo.com/luohanchenyilong "

电子商务
年开始研发NFC,并且目前已经开始申请相关的专利
Passbook简介
• Passbook是苹果公司于北京时间2012年6月12日上午,在全球开发者大会
(WWDC)上宣布了iOS 6系统将提供操作一个全新的应用--Passbook
• 这是一款可以存放登机牌、会员卡和电影票的工具。该功能将整合来自各类
服务的票据,包括电影票、登机牌、积分卡和礼品卡等
*60
• 商标 logo:58*58 最好只使用纯色,不要增加效果
• 缩略图 thumbnail:200*200
• 背景图 background(background-568@2x.png):640*960/ 640*1136
• 条带图 strip.png:640*244
,!
"passTypeIdentifier" :"pass.cn.itcast.FreeCoffee",!"serialNumber" : "001",!
"teamIdentifier" : "J9XHDK444E",!
"organizationName" : "itcast",!
"description" : "优惠券 蓝山咖啡1杯",!
"logoText" : "爱心咖啡",!
"foregroundColor" : "rgb(255, 255, 255)",!"backgroundColor" : "rgb(135, 129, 189)",!"labelColor" : "rgb(45, 54, 129)"
}!

创建Pass Type ID 

注册Pass Type ID 

确认Pass Type ID 

创建Pass Type ID验证字 

选择对应的Pass Type ID 

申请验证字 

生成并下载验证字 

将验证字导入到钥匙串管理器 

继续完善pass.json--二维码
"barcode" : {!
“message" : “用户姓名、手机号码、优惠额度8折",! "format" :"PKBarcodeFormatQR",!"messageEncoding" : "iso-8859-1"!
},
• 格式:Ø PKBarcodeFormatQR
Ø PKBarcodeFormatPDF417 ØPKBarcodeFormatAztec • messageEncoding:
添加优惠券内容
"coupon" : {! "primaryFields" :! [!
{!
"key" : "offer",! "label" : "蓝山咖啡",!"value" : "免费"
} ]! } 
添加图片&manifest.json
作为密码导出passkey.pem密钥文件 • 如果要用更复杂的密码生成指纹文件,可以直接修改123456
导出WWDR文件 

生成签名文件
• 在终端输入:

压缩生成pass文件 • 在终端输入:
zip -r freecoffee.pkpass manifest.json pass.json
signature logo.png logo@2x.png icon.png icon@2x.png
strip.png strip@2x.png
提示:也可以使用其他压缩工具压缩,但是注意只能压缩pass包含的文 件,不能包含其他的文件 
生成的咖啡优惠券 

Pass的获取方式
• 邮件• 网站• 应用程序内部(通过网络服务器实现)


二维码的生成
• 从iOS7开始集成了二维码的生成和读取功能•此前被广泛使用的zbarsdk目前不支持64位处理器
• 生成二维码的步骤:1. 导入CoreImage框架2.通过滤镜CIFilter生成二维码
• 二维码的内容(传统的条形码只能放数字): Ø纯文本Ø 名片Ø URL
生成二维码
// 1. 实例化二维码滤镜 CIFilter *filter = [CIFilterfilterWithName:@"CIQRCodeGenerator"];! // 2. 恢复滤镜的默认属性 [filter setDefaults];!
!
// 3. 将字符串转换成NSData NSData *data = [strdataUsingEncoding:NSUTF8StringEncoding];!
!
// 4. 通过KVO设置滤镜inputMessage数据!
[filter setValue:data forKey:@"inputMessage"];!
!
// 5. 获得滤镜输出的图像 CIImage *outputImage = [filter outputImage];!
!
// 6. 将CIImage转换成UIImage,并放大显示!
return [UIImage imageWithCIImage:outputImagescale:20.0 orientation:UIImageOrientationUp]; 
读取二维码
• 读取二维码需要导入AVFoundation框架• 利用摄像头识别二维码中的内容(模拟器不行)
1. 输入(摄像头)2. 由会话将摄像头采集到的二维码图像转换成字符串数据 3. 输出(数据)4. 由预览图层显示扫描场景 
设置拍摄会话
// 1. 实例化拍摄设备 AVCaptureDevice *device = [AVCaptureDevice
defaultDeviceWithMediaType:AVMediaTypeVideo];!
// 2. 设置输入设备 AVCaptureDeviceInput *input = [AVCaptureDeviceInput deviceInputWithDevice:device
error:nil];!
// 3. 设置元数据输出 // 3.1 实例化拍摄元数据输出AVCaptureMetadataOutput *output = [[AVCaptureMetadataOutput alloc] init];! // 3.3 设置输出数据代理 [output setMetadataObjectsDelegate:selfqueue:dispatch_get_main_queue()];! // 4. 添加拍摄会话 // 4.1实例化拍摄会话 AVCaptureSession *session = [[AVCaptureSession alloc] init];!
// 4.2 添加会话输入 [session addInput:input];!
// 4.3 添加会话输出 [session addOutput:output];!
// 4.3 设置输出数据类型,需要将元数据输出添加到会话后,才能指定元数据类型,否则会报错 [output setMetadataObjectTypes:@[AVMetadataObjectTypeQRCode]]; 
设置拍摄视频预览图层
// 5. 视频预览图层 // 5.1 实例化预览图层
AVCaptureVideoPreviewLayer *preview = [AVCaptureVideoPreviewLayerlayerWithSession:_session];!
preview.videoGravity =AVLayerVideoGravityResizeAspectFill;! preview.frame = self.view.bounds;!
// 5.2 将图层插入当前视图 [self.view.layerinsertSublayer:preview atIndex:100];!self.previewLayer = preview;!
!
// 6. 启动会话 [_session startRunning]; 


Passbook的更多相关文章
- iOS开发系列--通讯录、蓝牙、内购、GameCenter、iCloud、Passbook系统服务开发汇总
--系统应用与系统服务 iOS开发过程中有时候难免会使用iOS内置的一些应用软件和服务,例如QQ通讯录.微信电话本会使用iOS的通讯录,一些第三方软件会在应用内发送短信等.今天将和大家一起学习如何使用 ...
- iOS--通讯录、蓝牙、内购、GameCenter、iCloud、Passbook等系统服务开发汇总
iOS开发过程中有时候难免会使用iOS内置的一些应用软件和服务,例如QQ通讯录.微信电话本会使用iOS的通讯录,一些第三方软件会在应用内发送短信等.今天将和大家一起学习如何使用系统应用.使用系统服务: ...
- IOS - Passbook
1. 什么是Passbook Passbook是苹果公司于北京时间2012年6月12日上午,在全球开发者大会(WWDC)上宣布了iOS 6系统将提供操作一个全新的应用——Passbook 这是一款可以 ...
- iOS开发——高级技术&PassBook服务
PassBook服务 Passbook是苹果推出的一个管理登机牌.会员卡.电影票.优惠券等信息的 工具.Passbook就像一个卡包,用于存放你的购物卡.积分卡.电影票.礼品卡等,而这些票据就是一个“ ...
- iOS开发系列通讯录、蓝牙、内购、GameCenter、iCloud、Passbook系统服务开
--系统应用与系统服务 iOS开发过程中有时候难免会使用iOS内置的一些应用软件和服务,例如QQ通讯录.微信电话本会使用iOS的通讯录,一些第三方软件会在应用内发送短信等.今天将和大家一起学习如何使用 ...
- iOS6:在你的企业系统中支持Passbook
前言 这是一篇翻译,感谢Jonathan Tang. 原文地址:iOS 6 Tutorial: Supporting Passbook within Your Enterprise Systems 正 ...
- iOS6:在你的App内使用Passbook
前言 这是一篇翻译,感谢Jonathan Tang. 原文地址:iOS 6 Tutorial: Integrating Passbook into Your Applications 另外,看到另一篇 ...
- iOS 6 Passbook 入门 1/2
http://www.raywenderlich.com/zh-hans/23066/ios-6-passbook-%E5%85%A5%E9%97%A8-12 iOS 6 Passbook 入门 1/ ...
- 【读书笔记】iOS-iOS6 Passbook应用开发
Passbook 是iOS6的新功能,只能在iPhone和iPod touch设备中使用,它可以帮助管理商家发放的电子会员卡,积分卡,优惠券等. 一,Passbook 与 Pass. Passbook ...
随机推荐
- java 中的内部类总结
内部类不是很好理解,但说白了其实也就是一个类中还包含着另外一个类. 如同一个人是由大脑.肢体.器官等身体结果组成,而内部类相当于其中的某个器官之一,例如心脏:它也有自己的属性和行为(血液.跳动). 显 ...
- 软件工程实践-git的使用
² Github使用心得 其实以前就注册过一个github账号,不过那时只不过是因为在网上看到这个挺对于程序员有着重大作用就顺手去弄了,从未使用过,直到这次软工实践需要我才从新回想起来. 之前的几篇随 ...
- RYU 灭龙战 first day
RYU 灭龙战 first day 前言 由于RYU翻译过来是龙的意思,此次主题就叫灭龙战吧 灵感来源 恶龙的三位真火-问题所在 参照了官方文档的基本操作 笔者以此执行 一个终端里 sudo mn - ...
- 使用VS2013进行C#程序的单元测试
没有按照预期的那样做出成功的单元测试,磕磕绊绊参照了下面两篇博客大致做出来了,所以很有必要记录一下过程. http://www.cnblogs.com/duasonir/p/5299732.html( ...
- 2013成都网赛1003 hdu 4730 We Love MOE Girls
题意:有一个字符串,若以"desu"结尾,则将末尾的"desu"替换为"nanodesu",否则在字符串末尾加上"nanodesu ...
- BZOJ2324 ZJOI2011营救皮卡丘(floyd+上下界费用流)
虽然不一定每次都是由编号小的点向编号大的走,但一个人摧毁的顺序一定是从编号小的到编号大的.那么在摧毁据点x的过程中,其只能经过编号小于x的点.并且这样一定合法,因为可以控制其他人先去摧毁所经过的点.那 ...
- 1019C Sergey's problem(思维)
题意: 找出来一个点集S 使得S中的点不能互相通过一步到达 并且S中的点 可以在小于等于2的步数下到达所有的点 要父结点 不要子结点 这样就求出来一个点集S‘ 而S'中可能存在 v -> u ...
- 【题解】 [POI2012]FES-Festival (差分约束)
懒得复制题面,戳我戳我 Question: (因为网上找不到好的翻译,这里简单复述一下) 告诉你\(m1+m2\)个约束条件,然后要你找出\(X_1-X_n\)这些数字,求满足要求的数列中不同的数字个 ...
- springboot中定时任务
import java.text.SimpleDateFormat; import java.util.Date; import org.springframework.context.annotat ...
- 【BZOJ1071】[SCOI2007]组队(神仙题)
[BZOJ1071][SCOI2007]组队(神仙题) 题面 BZOJ 洛谷 题解 首先把式子整理一下,也就是\(A*h+B*v\le C+A*minH+B*minV\) 我们正常能够想到的做法是钦定 ...