ios7-12月基礎(chǔ)就業(yè)2期壓縮包版04.passbook_第1頁
ios7-12月基礎(chǔ)就業(yè)2期壓縮包版04.passbook_第2頁
ios7-12月基礎(chǔ)就業(yè)2期壓縮包版04.passbook_第3頁
ios7-12月基礎(chǔ)就業(yè)2期壓縮包版04.passbook_第4頁
ios7-12月基礎(chǔ)就業(yè)2期壓縮包版04.passbook_第5頁
已閱讀5頁,還剩47頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

Passbook講師:劉凡技術(shù)博客:新浪微博:電子商務(wù)移動(dòng)支付NFC——近場(chǎng)通訊、射頻技術(shù)(短距離通信)公交卡,是未來電子商務(wù)必爭(zhēng)的戰(zhàn)場(chǎng)!與電子銀行綁定在一起!一個(gè)手機(jī)能夠解決所有的支付問題,不過目前在中國(guó)大陸市場(chǎng)還不是很成熟電子錢包在電子商務(wù)領(lǐng)域,移動(dòng)支付是重中之重!蘋果公司從08年開始研發(fā)NFC,并且目前已經(jīng)開始申請(qǐng)相關(guān)的專利Passbook簡(jiǎn)介Passbook是蘋果公司于北京時(shí)間2012年6月12日上午,在全球開發(fā)者大會(huì)(WWDC)上宣布了iOS6系統(tǒng)將提供操作一個(gè)全新的應(yīng)用——Passbook這是一款可以存放登機(jī)牌、會(huì)員卡和電影票的工具。該功能將整合來自各類服務(wù)的票據(jù),包括電影票、登機(jī)牌、積分卡和禮品卡等Passbook是基于地理位置的,通過定位功能,當(dāng)用戶走到相關(guān)商店或場(chǎng)所附近時(shí),對(duì)應(yīng)的票據(jù)將會(huì)被自動(dòng)顯示Passbook只能在iPhone和iPodtouch設(shè)備中使用例如:比如當(dāng)你快到達(dá)星巴克時(shí),Passbook會(huì)拉出一張卡,提示你星巴克就在附近。這些卡片的信息還是在線的,所以當(dāng)你的登機(jī)牌更新了信息或發(fā)生了變化,卡片也會(huì)進(jìn)行更新。所以說這是一個(gè)存放電子票和通行證最好的地方當(dāng)機(jī)場(chǎng)通知登機(jī)口變更的時(shí)候,手機(jī)會(huì)收到推送提醒,暫時(shí)僅支持美聯(lián)航Passbook應(yīng)用場(chǎng)景當(dāng)用戶快到達(dá)星巴克時(shí),Passbook會(huì)拉出一張卡,提示你星巴克就在附近進(jìn)入星巴克將手機(jī)給服務(wù)員服務(wù)員用設(shè)備掃描二維碼,便可以享受免費(fèi)咖啡了機(jī)票的Pass示例完整Passbook應(yīng)用的構(gòu)成集成PassKit框架的Passbook的應(yīng)用Apple的通知推送服務(wù)商家的服務(wù)端代碼什么是Passes?Passes是口袋里的所有東西!如果把Passbook看成錢包,那么Passbook中的Passes就可以看成是錢包中的鈔票、會(huì)員卡、優(yōu)惠券、電影票或者登機(jī)牌演練1——添加Passes演練1——添加Passes步驟創(chuàng)建項(xiàng)目并添加PassKit框架添加示例Passes修改Storyboard,使用UITableViewController從Bundle中讀取所有的Pass文件填充表格內(nèi)容編寫打開Pass方法從Bundle中讀取所有的Pass文件//1.獲取mainBundle路徑NSString*path=[[NSBundlemainBundle]resourcePath];//2.讀取mainBundle中的所有文件NSArray*files=[[NSFileManagerdefaultManager]contentsOfDirectoryAtPath:patherror:nil];//3.遍歷數(shù)組查找所有的PassNSMutableArray*passes=[NSMutableArrayarray];for(NSString*fileNameinfiles){

if([fileNamehasSuffix:@".pkpass"]){[passesaddObject:fileName];}}打開Pass//1.生成完整的Pass路徑NSString*path=[[[NSBundlemainBundle]resourcePath]ponent:name];//2.生成Pass數(shù)據(jù)NSData*data=[NSDatadataWithContentsOfFile:path];//3.使用data實(shí)例化PKPass示例NSError*error=nil;PKPass*pass=[[PKPassalloc]initWithData:dataerror:&error];……//4.實(shí)例化添加Pass控制器以顯示Pass內(nèi)容PKAddPassesViewController*controller=[[PKAddPassesViewControlleralloc]initWithPass:pass];//5.設(shè)置控制器代理[controllersetDelegate:self];//6.顯示添加Pass控制器[selfpresentViewController:controlleranimated:YEScompletion:nil];Pass與傳統(tǒng)優(yōu)惠券的比較傳統(tǒng)優(yōu)惠券通常分正反兩面正面:優(yōu)惠內(nèi)容及到期時(shí)間背面:法律責(zé)任及相關(guān)信息真實(shí)的Pass也是正反兩面正面:非常醒目的描述信息,一目了然知道商家的服務(wù)信息,最重要的信息是二維碼反面:自動(dòng)更新、鎖屏提示、法律責(zé)任、刪除PassPass的五種類型Boardingpasses:登機(jī)牌(機(jī)票、火車票) 起始地點(diǎn)~終點(diǎn)&過期時(shí)間&客戶狀態(tài)Coupons:優(yōu)惠券Storecards:購(gòu)物卡Eventtickets:入場(chǎng)券,支持用戶的實(shí)名制Generic:通用卡,如果以上四種類型無法滿足,可以自己定義卡.pkpass文件實(shí)際上是一個(gè)zip文件Pass文件說明圖標(biāo)icon:60*60商標(biāo)

logo:58*58

最好只使用純色,不要增加效果縮略圖thumbnail:200*200背景圖background(background-568@2x.png):640*960/640*1136條帶圖strip.png:640*244manifest.json:描述Pass的信息,包含pass的組成內(nèi)容及加密認(rèn)證的信息pass.json:描述Pass上的信息及擺放關(guān)系signature:簽名文件,對(duì)Pass中的所有文件進(jìn)行加密,生成唯一的SHA碼(指紋文件),如果校驗(yàn)不符合,說明Pass文件被修改過注意:通常條帶圖和背景圖屬于二選一關(guān)系pass.json內(nèi)容說明formatVersion:通常是1passTypeIdentifier:反向域名+Pass名serialNumber:序列號(hào)teamIdentifier:在開發(fā)者網(wǎng)站生成organizationName:組織名logoText:logo文字description:描述信息foregroundColor:前景(字體)顏色backgroundColor:底色Pass的字段頭部字段頭字段次要字段輔助字段背面字段以上字段需要在Pass中添加描述信息,每個(gè)字段包含:KeyLabelValuePass的布局——登機(jī)牌Pass的布局——優(yōu)惠券Pass的布局——購(gòu)物卡Pass的布局——入場(chǎng)券Pass的布局——自定義二維碼QRCode快速閱讀碼,在日本使用非常普遍PDF417碼Aztec碼阿斯特克碼(回形碼)創(chuàng)建Pass——建立pass.json{"formatVersion":1,"passTypeIdentifier":".itcast.FreeCoffee","serialNumber":"001","teamIdentifier":"J9XHDK444E","organizationName":"itcast","description":"優(yōu)惠券藍(lán)山咖啡1杯”,"logoText":"愛心咖啡","foregroundColor":"rgb(255,255,255)","backgroundColor":"rgb(135,129,189)","labelColor":"rgb(45,54,129)"}創(chuàng)建PassTypeID注冊(cè)Pass

Type

ID確認(rèn)Pass

Type

ID創(chuàng)建Pass

Type

ID驗(yàn)證字選擇對(duì)應(yīng)的Pass

Type

ID申請(qǐng)驗(yàn)證字生成并下載驗(yàn)證字將驗(yàn)證字導(dǎo)入到鑰匙串管理器繼續(xù)完善pass.json——二維碼"barcode"

:{

“message”

:“用戶姓名、手機(jī)號(hào)碼、優(yōu)惠額度8折",

"format":"PKBarcodeFormatQR",

"messageEncoding":"iso-8859-1"},格式:PKBarcodeFormatQRPKBarcodeFormatPDF417PKBarcodeFormatAztecmessageEncoding:添加優(yōu)惠券內(nèi)容"coupon":{

"primaryFields":[{

"key":"offer",

"label"

:"藍(lán)山咖啡",

"value"

:"免費(fèi)"

}]}添加圖片&manifest.json提示:后續(xù)步驟是非常無聊的步驟,一不小心很容易出錯(cuò)!在整個(gè)手工制作pass的過程中,最容易出錯(cuò)的部分就是pass.json的編寫生成加密數(shù)據(jù)打開終端,并進(jìn)入pass.json所在目錄,輸入:opensslsha1pass.json用生成的密鑰設(shè)置manifest.json中的內(nèi)容{"icon.png":"8eaa0896db93f2165fa417df3d002ce9c61fcd92","icon@2x.png":"555ce7f70f2f44fb7ac9d9f46df5738ec6250f37","logo.png":"e8c4edfbcae41d9d88fad7137d8ed30ae5f73e67","logo@2x.png":"1f9b1cc4c75b380ade07e9f2b7f37f988d9d14c3","strip.png":"25b4c9ff2bafe056f3e28379db0ef3fb460c718b","strip@2x.png":"dee775ed6fb3c7278b84c65853401e760caabc92","pass.json":"54f6300dd714226f7e0f181a514e3646684e5d25"}注意:如果修改了pass.json需要重新生成密鑰注:OpenSSL是一個(gè)強(qiáng)大的安全套接字層密碼庫(kù),為網(wǎng)絡(luò)通信提供安全及數(shù)據(jù)完整性的一種安全協(xié)議,囊括了主要的密碼算法、常用的密鑰和證書封裝管理功能以及SSL協(xié)議,并提供了豐富的應(yīng)用程序供測(cè)試或其它目的使用從鑰匙串管理器導(dǎo)出此前創(chuàng)建的p12文件,然后在終端中輸入:opensslpkcs12-in免費(fèi)咖啡.p12-clcerts-nokeys-outpasscertificate.pem-passinpass:該命令從.p12文件導(dǎo)出一個(gè)PEM格式的pass證書,并保存到passcertificate.pem文件中在終端輸入opensslpkcs12-in免費(fèi)咖啡.p12-nocerts-outpasskey.pem-passinpass:-passoutpass:123456該命令從.p12文件使用123456作為密碼導(dǎo)出passkey.pem密鑰文件如果要用更復(fù)雜的密碼生成指紋文件,可以直接修改123456導(dǎo)出WWDR文件生成簽名文件在終端輸入:opensslsmime-binary-sign-certfileWWDR.pem-signerpasscertificate.pem-inkeypasskey.pem-inmanifest.json-outsignature-outformDER-passinpass:123456該命令可以生成簽名指紋文件如果要用更復(fù)雜的密碼生成指紋文件,可以直接修改123456壓縮生成pass文件在終端輸入:zip-rfreecoffee.pkpassmanifest.json

pass.jsonsignaturelogo.pnglogo@2x.pngicon.pngicon@2x.pngstrip.pngstrip@2x.png提示:也可以使用其他壓縮工具壓縮,但是注意只能壓縮pass包含的文件,不能包含其他的文件生成的咖啡優(yōu)惠券Pass的獲取方式郵件網(wǎng)站應(yīng)用程序內(nèi)部(通過網(wǎng)絡(luò)服務(wù)器實(shí)現(xiàn))網(wǎng)站優(yōu)惠卡登記姓名:性別:手機(jī)號(hào)碼:pass.jsonmenifest.jsonopenssl指紋文件pass用戶手機(jī)數(shù)據(jù)庫(kù)優(yōu)惠額度用戶信息時(shí)間有效期……系統(tǒng)推送商家掃描二維碼給客戶優(yōu)惠手機(jī)令牌新的促銷活動(dòng)直推下載、郵件WebServices(Post)pass.jsonmenifest.json指紋文件pass用戶手機(jī)姓名性別手機(jī)號(hào)碼POST接到返回的Pass之后,調(diào)用PKAddPassViewController添加Pass1.Post信息2.返回Pass二維碼的生成從iOS7開始集成了二維碼的生成和讀取功能此前被廣泛使用的zbarsdk目前不支持64位處理器生成二維碼的步驟:導(dǎo)入CoreImage框架通過濾鏡CIFilter生成二維碼二維碼的內(nèi)容(傳統(tǒng)的條形碼只能放數(shù)字):純文本名片URL生成二維碼//1.實(shí)例化二維碼濾鏡CIFilter*filter=[CIFilter

filterWithName:@"CIQRCodeGenerator"];//2.恢復(fù)濾鏡的默認(rèn)屬性[filtersetDefaults];//3.將字符串轉(zhuǎn)換成NSDataNSData*data=[strdataUsingEncoding:NSUTF8StringEncoding];//4.通過KVO設(shè)置濾鏡inputMessage數(shù)據(jù)[filtersetValue:dataforKey:@"inputMessage"];//5.獲得濾鏡輸出的圖像CIImage*outputImage=[filteroutputImage];//6.將CIImage轉(zhuǎn)換成UIImage,并放大顯示return[UIImage

imageWithCIImage:outputImagescale:20.0

orientation:UIImageOrientationUp];讀取二維碼讀取二維碼需要導(dǎo)入AVFoundation框架利用攝像頭識(shí)別二維碼中的內(nèi)容(模擬器不行)輸入(攝像頭)由會(huì)話將攝像頭采集到的二維碼圖像轉(zhuǎn)換成字符串?dāng)?shù)據(jù)輸出(數(shù)據(jù))由預(yù)覽圖層顯示掃描場(chǎng)景設(shè)置拍攝會(huì)話//1.實(shí)例化拍攝設(shè)備AVCaptureDevice*device=[AVCaptureDevicedefaultDeviceWithMediaType:AVMediaTypeVideo];//2.設(shè)置輸入設(shè)備AVCaptureDeviceInput*input=[AVCaptureDeviceInputdeviceInputWithDevice:deviceerror:nil];//3.設(shè)置元數(shù)據(jù)輸出//3.1實(shí)例化拍攝元數(shù)據(jù)輸出AVCaptureMetadataOutput*output=[[AVCaptureMetadataOutputalloc]init];//3.3設(shè)置輸出數(shù)據(jù)代理[outp

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論