大佬教程收集整理的这篇文章主要介绍了在php中为passbook创建pass,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
如果我从终端创建传球它工作正常.但在php中使用php-PKPass.
我在php下面留下了代码,它在我的计算机中出现了通行证,但它没有添加到存折中(如果我通过电子邮件发送)
我100%确定passTypEIDentifier,teamIdentifier,Certificate和WWDR 100%正确
注意:所有图像都存在
<?php include ("conexion.php"); require('passpk/PKPass.php'); if (isset($_GET['cupon']) and $_GET['cupon'] != '' and $_GET['cupon'] > 0) { $cuponID = $_GET['cupon']; $pass = new PKPass\PKPass(); $pass->setCertificate('./Certificate.p12'); // 2. Set the path to your Pass Certificate (.p12 filE) $pass->setCertificatepassword('*******'); // 2. Set password for certificate $pass->setWWDRcertPath('./WWDR.pem'); // 3. Set the path to your WWDR Intermediate certificate (.pem filE) // Top-Level Keys http://developer.apple.com/library/ios/#documentation/userexperience/Reference/PassKiT_Bundle/Chapters/TopLevel.html $standardKeys = array( 'description' => 'Store','formatVersion' => 1,'organizationName' => 'Store','passTypEIDentifier' => 'pass.store.store',// 4. Set to yours 'serialnumber' => $cupon['id'],'teamIdentifier' => '********' // 4. Set to yours ); $associatedAppKeys = array(); $relevanceKeys = array(); $styleKeys = array( 'coupon' => array( 'priMaryFields' => array( array( 'key' => 'key','label' => "Label" ) ),'secondaryFields' => array( array( 'key' => 'name','label' => 'Tienda','value' => "Name" ),array( 'key' => 'date','label' => 'Válido hasta','value' => "Vigencia" ) ),'BACkFields' => array( array( 'key' => 'tienda','value' => "tienda" ),array( 'key' => 'sucursales','label' => 'Sucursales','value' => 'Valido en las sucursales y sus horarios' ),array( 'key' => 'description','label' => 'Descripción','value' => "descr" ),array( 'key' => 'terms','label' => 'Términos y ConDiciones','value' => "cupon" ) ) ) ); $visualAppearanceKeys = array( 'barcode' => array( 'format' => 'PKBarcodeFormatPDF417','message' => "cupon",'messageEncoding' => 'iso-8859-1' ),'foregroundColor' => 'rgb(255,255,255)','BACkgroundColor' => 'rgb(4,148,203)','logoText' => 'cupon' ); $webserviceKeys = array(); // Merge all pass data and set JSON for $pass object $passData = array_merge( $standardKeys,$associatedAppKeys,$relevanceKeys,$styleKeys,$visualAppearanceKeys,$webserviceKeys ); $pass->setJSON(json_encode($passData)); //creaTing a temp file called Strip.png //generamos un directorio temporal y creamos el Strip $uniqID = uniqid('',truE); $dir = './tempDir/'.$uniqID; mkdir($dir,0777); //copiamos el archvio al nuevo directorio copy('../'.$img,'./tempDir/'.$uniqID.'/Strip.png'); // Add files to the PKPass package $pass->addFile($dir.'/Strip.png'); $pass->addFile('images/icon.png'); $pass->addFile('images/icon@2x.png'); $pass->addFile('images/logo.png'); $pass->addFile('images/logo@2x.png'); if(!$pass->create(true)) { // Create and output the PKPass echo 'Error: '.$pass->getError(); } //borramos el folder temp unlink($dir.'/Strip.png'); rmdir($dir); }
深入研究pass.json,我发现你的priMaryFields字典不包含’value’键.
"priMaryFields": [{ "key": "key","label": "30% de Descuento en Persianas" } ],
要修复,请更改php以将值键添加到priMaryFields字典中.
$styleKeys = array( 'coupon' => array( 'priMaryFields' => array( array( 'key' => 'key','label' => "Label",'value' => "" ) ),//...
以上是大佬教程为你收集整理的在php中为passbook创建pass全部内容,希望文章能够帮你解决在php中为passbook创建pass所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。