大家好,我是顺亿,今天咱们来聊聊iOS 6中那个神奇的Passbook。你是不是也像我一样,看到Passbook的图标就心动了呢?不过,你可能发现并没有现成的Pass可以使用。别急,今天我就来教大家如何自己制作一个Pass。
首先,什么是Pass呢?其实,Pass就是一个zip包,里面包含了各种文件,比如logo、背景图、icon等。其中最重要的文件是manifest.json和pass.json,它们定义了Pass的样式、格式和数据。
制作Pass的步骤
- Step 1: 生成苹果开发证书。登录苹果开发者入口,申请一个Pass类型的标识和证书,并导出为.p12文件。
- Step 2: 生成key.pem和certificate.pem文件。使用openssl命令将.p12文件转换为.pem文件。
- Step 3: 收集文件。将pass.json和一些logo、icon、背景图片文件放在一个目录下。
- Step 4: 生成manifest.json文件。使用csh脚本生成一个包含所有文件SHA1哈希的JSON文件。
- Step 5: 生成签名文件。使用openssl命令生成签名文件。
- Step 6: Zip文件。将所有文件压缩成一个.pkpass文件。
这里有一个json.pass的例子,你可以参考一下:
{
\t"passTypeIdentifier" : "X.Y.Z",
\t"formatVersion" : 1,
\t"organizationName" : "Flight Express",
\t"serialNumber" : "158cd3b6-2468-4067-80f2-75715eaf4ae0",
\t"teamIdentifier" : "AGK5BZEN3E",
\t"description" : "Demo pass",
\t"foregroundColor" : "rgb(54,80,255)",
\t"backgroundColor" : "rgb(209,255,247)",
\t"labelColor" : "rgb(255,15,15)",
\t"logoText" : "Boarding Pass",
\t"barcode" : {
\t\t"format" : "PKBarcodeFormatQR",
\t\t"message" : "Flight-GateF12",
\t\t"messageEncoding" : "iso-8859-1"
\t},
\t"relevantDate" : "2012-07-12T19:23Z",
\t"boardingPass" : {
\t\t"headerFields" : [
\t\t\t{
\t\t\t\t"key" : "h1-label",
\t\t\t\t
