Я создал пас через 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);
Любая помощь будет оценена,
Спасибо,
Ваш webServiceURL указывает на файл, когда он должен указывать на корень службы RESTful.
Вы не получаете ответа на устройстве, потому что косая черта после passwallet.php заставляет ваш сервер обрабатывать passwallet.php как папку, а затем пытается найти файл индекса для полного пути запроса. Это не существует, поэтому устройство получает 404 обратно с вашего сервера.
Переименуйте файл passwallet.php в index.php и настройте сервер так, чтобы переписывать все запросы в index.php (аналогично тому, как вы настраивали красивые URL-адреса в WordPress).
Других решений пока нет …