iOS Wallet 开发

Getting Started

  • Introducing Wallet

以前 Wallet 叫 Passbook , Pass 有通行证,入场券的意思。苹果的 Passes 可以包含 图片, 条码, 也可以通过 APNs 更新信息。一个pass 库包含用户的 passes 信息, 用户可以通过 Wallet 查看和管理 passes

iOS Wallet 开发_第1张图片
  • Wallet Ecosystem Design

一个 pass 的生命周期包括: ** 创建,管理,召回 **。 苹果的Wallet 应用处理 ** 管理 , 而 创建,召回 ** 自己做

Creating Pass Packages

  • Building Your First Pass

本示例是创建一个简单的 Coupon pass

1. 创建一个 Pass 包

首先要明白 Pasees 是以 Pass 包 形式创建的,Pass 包里面包含一个 pass.json 文件,一些图片资源(像 icon, logo 等)
创建一个 Pass 包:
(1)在 Finder 的 文稿 初 创建一个 名为 ** Lollipop.pass ** 的文件夹
(2)下载苹果提供的资源文件(包括一些 Pass 包例子, 一个签名工具, 一个测试服务器)
(3)把苹果资源处的Coupon 的图片和pass.json 文件拷贝到 ** Lollipop.pass ** 的文件夹内
下载的资源目录是这样的

iOS Wallet 开发_第2张图片

2. 设置 Pass Type Identifier 和 Team ID

每一个 pass 都有和开发者账号相关连的 Pass Type Identifier

iOS Wallet 开发_第3张图片

按照苹果的意思在自己的开发账号内生成一个 Pass Type ID, 然后在 pass.json 文件内替换生成的Pass Type ID, Team ID 同理,开发者账号内找到并且在 pass.json 文件内替换。

3. 签名并且压缩 Pass

(1)下载 pass signing certificate


iOS Wallet 开发_第4张图片

图片的意思是 生成一个刚刚在开发者账号内生成的 Pass Type ID 的证书,照着图片的意思做就好了,最后把生成的证书下载并且双击导入 keychain 内

(2)获得签名工具

iOS Wallet 开发_第5张图片

如图,在下载的苹果资源内打开 signpass.xcodeproj ,编译,运行。

iOS Wallet 开发_第6张图片

然后在项目内把 Products 处的 可执行文件 signpass 拷贝到Finder 文稿 ,目录如图所示:
iOS Wallet 开发_第7张图片

打开命令行,
cd 到 ** 文稿 **目录输入 ./signpass -p Lollipop.pass


最后在文稿目录会生成一个 ** Lollipop.pkpass ** 文件,它就是你要的 pass 包了,点击查看

4. 更改 pass.json 内的内容

更改 description 或者 logoText,重新命令行 ./signpass -p Lollipop.pass ,再次点击 ** Lollipop.pkpass **,查看你更改的效果
(如果 输出错误 “Couldn't find a passTypeIdentifier in the pass”,查看这个 stack overflow 答案),出错的可能是你更改的 json 的格式错误了比如 符号 [ ** “ ** 和 ** " **] 的区别

5. 查看Pass

直接把生成的 ** Lollipop.pkpass ** 拉进模拟器就好了

** 参考链接 Wallet Developer Guide **

你可能感兴趣的:(iOS Wallet 开发)