Сгенерировать URL-адрес Passbook Pass веб-службы не работает через php
Я создал пас через PHP и попробовал его на iOS и на моем iPhone, и все работает нормально.
Теперь у меня проблема с "обновить мой пропуск", проблема в том, что я не получаю никаких полезных данных обратно на свой сервер.
У меня есть сертификат SSL. на моем сервере работает. Это мой файл JSON для поколения Pass.
{"description":"Your Booking @ XXXXXX","formatVersion":1,
"organizationName":"xxx Pte Ltd",
"passTypeIdentifier":"pass.com.xxx",
"serialNumber":"R_TheTtSFAmc7U",
"teamIdentifier":"3WZWSR88QK",
"locations":[{"longitude":-122.3748889,"latitude":37.6189722},
{"longitude":-122.03118,"latitude":37.33182}],
"eventTicket":{"headerFields":[{"key":"booking","label":"Booking","value":"xxxxx"}],
"primaryFields":[{"key":"date","label":"Booking date","value":"JAN 15"}],
"secondaryFields":[{"key":"hour","label":"Booking time","value":"19:00"}],
"auxiliaryFields":[{"key":"address","label":"Address","value":"90 Club Street"}],
"backFields":[{"key":"bookingname","label":"Booking","value":"XXXX"},
{"key":"member-code","label":"Spin Code","value":"xxxx"}]},
"barcode":{"format":"PKBarcodeFormatQR",
"message":"{\"membCode\":\"xxx\"}","messageEncoding":"iso88591"},"foregroundColor":" rgb(255, 255, 255)",
"backgroundColor":"rgb(60, 65, 76)"
"webServiceURL":"https://dev.xxx.com/passbook/passwallet.php","authenticationToken":"dnMua2FsYUB3ZWVsb3kuY29tOndlZWxveTAx"}
passwallet.php
$request = explode("/", substr(@$_SERVER['REQUEST_URI'], 1));
var_dump($request);
$data1 = $passUpdate->snconnect($request);
$inputJSON = file_get_contents('php://input');
$push_token = json_decode($inputJSON, TRUE);
$push_token = $push_token->pushToken;
//device token store in db
$data2 = $passUpdate->snconnect($push_token);
Любая помощь будет оценена, спасибо,
1 ответ
Ваш webServiceURL указывает на файл, когда он должен указывать на корень службы RESTful.
Вы не получаете ответа на устройстве, потому что косая черта после passwallet.php заставляет ваш сервер обрабатывать passwallet.php как папку, а затем пытается найти индексный файл для полного пути запроса. Это не существует, поэтому устройство получает 404 обратно с вашего сервера.
Переименуйте passwallet.php в index.php и настройте свой сервер так, чтобы переписывать все запросы в index.php (аналогично тому, как вы настраивали красивые URL в Wordpress).