توفر هذه الفئة وظيفة إنشاء بطاقات مرور لـ Wallet في نظام التشغيل iOS الخاص بشركة Apple. يقوم بإنشاء المرور وتوقيعه وتعبئته كملف .pkpass
وفقًا لوثائق Apple.
PHP 7.0 أو أعلى (قد يعمل أيضًا مع الإصدارات الأقدم)
امتداد PHP ZIP (غالبًا ما يتم تثبيته افتراضيًا)
الوصول إلى نظام الملفات لكتابة ملفات ذاكرة التخزين المؤقت المؤقتة
ما عليك سوى تشغيل الأمر التالي في الدليل الجذر لمشروعك للتثبيت عبر Composer:
composer require pkpass/pkpass
أو أضف إلى ملف Composer.json الخاص بك: "pkpass/pkpass": "^2.0.0"
يرجى إلقاء نظرة على ملف example/example.php على سبيل المثال الاستخدام. لمزيد من المعلومات حول JSON للتمرير وكيفية تصميمه، قم بإلقاء نظرة على المستندات الموجودة على موقع Developers.apple.com.
مثال بسيط
مثال تذكرة الطيران
مثال على بطاقة ستاربكس
addFile
: إضافة ملف بدون لغة مثل icon.png
addRemoteFile
: إضافة ملف من عنوان url بدون لغة مثل https://xyz.io/icon.png
addLocaleFile
: أضف ملفًا مترجمًا مثل strip.png
addLocaleRemoteFile
: أضف ملفًا مترجمًا من عنوان url مثل https://xyz.io/strip.png
انتقل إلى بوابة توفير iOS.
قم بإنشاء معرف نوع المرور الجديد، وقم بتدوين معرف المرور الذي تختاره، حيث ستحتاج إليه لاحقًا.
انقر فوق زر التحرير الموجود أسفل معرف نوع المرور الذي تم إنشاؤه حديثًا وقم بإنشاء شهادة وفقًا للتعليمات الموضحة في الصفحة. تأكد من عدم اختيار اسم للشهادة ولكن احتفظ بها فارغة بدلاً من ذلك.
قم بتنزيل ملف .cer واسحبه إلى Keychain Access.
ابحث عن الشهادة التي استوردتها للتو وانقر على المثلث الموجود على اليسار للكشف عن المفتاح الخاص.
حدد كلاً من الشهادة والمفتاح الخاص بها، ثم انقر بزر الماوس الأيمن فوق الشهادة في Keychain Access واختر Export 2 items…
.
اختر كلمة مرور وقم بتصدير الملف إلى مجلد.
عندما تحصل على الخطأ "تعذر قراءة ملف الشهادة. قد يكون هذا مرتبطًا باستخدام إصدار OpenSSL الذي قام بإهمال بعض التجزئات القديمة. مزيد من المعلومات هنا: https://schof.link/2Et6z3m خطأ OpenSSL: خطأ: 0308010C: إجراءات المغلف الرقمي :: غير مدعوم' هذا بسبب قيام OSX بتصدير ملف .p12 باستخدام إصدار قديم من OpenSSL. لإصلاح هذه المشكلة، استخدم الأوامر التالية:
openssl pkcs12 -legacy -in key.p12 -nodes -out key_decrypted.tmp
(استبدل key.p12 باسم ملف .p12 الخاص بك).
openssl pkcs12 -in key_decrypted.tmp -export -out key_new.p12
(استخدم الملف key_new.p12 الذي تم إنشاؤه حديثًا في إنشاء المرور الخاص بك أدناه)
اطلب شهادة المرور ( .p12
) كما هو موضح أعلاه وقم بتحميلها على الخادم الخاص بك.
قم بتعيين المسار الصحيح وكلمة المرور على السطر 22.
قم بتغيير passTypeIdentifier
و teamIndentifier
إلى القيم الصحيحة في السطرين 29 و31 (يمكن العثور على teamIndentifier
على بوابة المطور).
بعد الانتهاء من هذه الخطوات، يجب أن تكون جاهزًا للانطلاق. قم بتحميل جميع الملفات إلى الخادم الخاص بك وانتقل إلى عنوان ملف example/example.php على جهاز iPhone الخاص بك.
إذا لم تتمكن من فتح بطاقتك على جهاز iPhone، فقم بتوصيل iPhone بجهاز Mac وافتح تطبيق "Console". على اليسار، يمكنك تحديد جهاز iPhone الخاص بك. ستتمكن بعد ذلك من فحص أي أخطاء تحدث أثناء إضافة بطاقة المرور:
Trust evaluate failure: [leaf TemporalValidity]
: إذا رأيت هذا الخطأ، فهذا يعني أنه تم توقيع تصريح المرور الخاص بك باستخدام شهادة قديمة.
Trust evaluate failure: [leaf LeafMarkerOid]
: لم تترك اسم الشهادة فارغًا أثناء إنشائها في بوابة المطور.
الإصدار 2.1.0 - أبريل 2023
أضف طريقة بديلة لاستخراج محتويات P12 للتحايل على المشكلات في الإصدارات الحديثة من OpenSSL.
الإصدار 2.0.2 - أكتوبر 2022
قم بالتبديل إلى طريقة ZipArchive::OVERWRITE
لفتح ZIP بسبب إهمال PHP 8 (#120).
الإصدار 2.0.1 - أكتوبر 2022
قم بتحديث شهادة WWDR إلى الإصدار 6 (#118).
الإصدار 2.0.0 - سبتمبر 2022
تم تغيير توقيع المنشئ لإخراج المعلمة $json
الثالثة.
قم بإزالة طريقة setJSON()
المهملة.
تمت إزالة أساليب checkError()
و getError()
لصالح الاستثناءات.
يرجى قراءة التعليمات المذكورة أعلاه والرجوع إلى وثائق المحفظة قبل إرسال التذاكر أو طلب الدعم. قد يكون من المفيد أيضًا التحقق من Stackoverflow، الذي يحتوي على عدد لا بأس به من الأسئلة حول هذه المكتبة.
احصل على دعم احترافي لهذه الحزمة →
تتوفر جلسات استشارية مخصصة لدعم التنفيذ وتطوير الميزات.