先簡要介紹下Passbook中的憑證是個什麼東西:Passbook其實就是一個集中管理和更新憑證的平臺。對於每一個具體的應用來說,應用可以使用PassKit.framework中的api管理Passbook中有關本應用的憑證。每一個憑證都是一個PKPass,應用可以使用PKPassLibrary的例項來新增、刪除和編輯憑證。那麼憑證從哪裡來?新增到PKPassLibrary的PKPass是由一個.pkpass檔案生成的。pkpass格式的檔案其實是一個zip歸檔,內含內容包括素材檔案、json格式的pass描述檔案和hash效驗檔案,如圖:資原始檔不必多說,重點在pass描述檔案pass.json,這個檔案決定了pass的型別、上面顯示的資訊、pass的地理生效範圍、pass的過期時間、更新服務URL地址等等意義很明顯,不再贅述。。最終就生成了這樣一張pass:下麵條碼的內容就如同json檔案中所述的,PKBarcodeFormatPDF417格式的“S23RHF29CVEH2”。所以第二個問題的答案出來了:商家可以定義Pass的全部內容,當然其中最重要的就是序列號(條碼中包含的東西)。第三個問題,需要符合什麼規則?不需要符合任何規則,只要包含一個有用的序列號即可,你可以把任何東西做成pass。最後來回答第一個問題,如何使用。首先你要知道Apple不會負責任何有關憑證的派發與檢驗、發揮作用的事務,所以這一切都由你來完成。使用方面分兩步:第一是生成和派發憑證。你需要一個管理憑證的資料庫,生成一個憑證就是生成一個唯一的序列號,然後將其入庫,並派發憑證。憑證的派發一般有兩種方法:你的app負責從你指定的方式獲取憑證,然後使用PassKit新增到使用者的Passbook;或者透過電子郵件等可以傳送檔案的方式傳送pkpass檔案,使用者手動新增到Passbook。之後如果有必要,當憑證變更的時候(比如價格改變,電影院的座位改簽)你可以使用Web服務(Web Service)負責更新憑證。第二是憑證的效驗(使用)。當用戶來到使用憑證的地方(電影院,商鋪),Pass會自動出現在主螢幕上,這時你需要使用掃描軟體掃描憑證上的條碼,並在資料庫中檢驗其有效性,然後廢掉這個憑證(如果是一次性的話,會員卡就不用了),如果效驗透過就可以讓使用者獲取對應的服務。
先簡要介紹下Passbook中的憑證是個什麼東西:Passbook其實就是一個集中管理和更新憑證的平臺。對於每一個具體的應用來說,應用可以使用PassKit.framework中的api管理Passbook中有關本應用的憑證。每一個憑證都是一個PKPass,應用可以使用PKPassLibrary的例項來新增、刪除和編輯憑證。那麼憑證從哪裡來?新增到PKPassLibrary的PKPass是由一個.pkpass檔案生成的。pkpass格式的檔案其實是一個zip歸檔,內含內容包括素材檔案、json格式的pass描述檔案和hash效驗檔案,如圖:資原始檔不必多說,重點在pass描述檔案pass.json,這個檔案決定了pass的型別、上面顯示的資訊、pass的地理生效範圍、pass的過期時間、更新服務URL地址等等意義很明顯,不再贅述。。最終就生成了這樣一張pass:下麵條碼的內容就如同json檔案中所述的,PKBarcodeFormatPDF417格式的“S23RHF29CVEH2”。所以第二個問題的答案出來了:商家可以定義Pass的全部內容,當然其中最重要的就是序列號(條碼中包含的東西)。第三個問題,需要符合什麼規則?不需要符合任何規則,只要包含一個有用的序列號即可,你可以把任何東西做成pass。最後來回答第一個問題,如何使用。首先你要知道Apple不會負責任何有關憑證的派發與檢驗、發揮作用的事務,所以這一切都由你來完成。使用方面分兩步:第一是生成和派發憑證。你需要一個管理憑證的資料庫,生成一個憑證就是生成一個唯一的序列號,然後將其入庫,並派發憑證。憑證的派發一般有兩種方法:你的app負責從你指定的方式獲取憑證,然後使用PassKit新增到使用者的Passbook;或者透過電子郵件等可以傳送檔案的方式傳送pkpass檔案,使用者手動新增到Passbook。之後如果有必要,當憑證變更的時候(比如價格改變,電影院的座位改簽)你可以使用Web服務(Web Service)負責更新憑證。第二是憑證的效驗(使用)。當用戶來到使用憑證的地方(電影院,商鋪),Pass會自動出現在主螢幕上,這時你需要使用掃描軟體掃描憑證上的條碼,並在資料庫中檢驗其有效性,然後廢掉這個憑證(如果是一次性的話,會員卡就不用了),如果效驗透過就可以讓使用者獲取對應的服務。