Лимит символов для полей на Pass в Apple Passbook

Я в настоящее время проектирую проходы, используя passkit4j. Apple пропускает лишние символы в поле значения. Например, если я даю 25 символов, а если ограничение составляет 20, последние 5 символов обрезаются.

Я просмотрел документацию Apple Passbook и документацию PassKit для этой детали, но не повезло. Затем я попробовал себя на веб-сайте passkit.com и определил ограничение числа символов в 20 для основных полей.

Но было бы хорошо, если бы я получил некоторую документацию относительно соглашения / ограничения длины поля для всех полей в проходе.

И есть ли обходной путь для этого? Как уменьшить размер шрифта, если символы большие?

1 ответ

Решение

К сожалению, нет обходного пути для этого. Размеры и усечение полей контролируются запатентованными алгоритмами в приложении Passbook. Рендеринг, который вы видите на PassKit.com, является нашей лучшей попыткой реверс-инжиниринга этих алгоритмов. Фактическое количество символов, которое может содержать любое поле, варьируется от типа передачи к типу передачи и зависит от содержимого смежных полей. Наш сервис позволяет нашим пользователям быстро визуализировать, как будет выглядеть проход на устройстве, хотя мы никогда не будем на 100% точными, поэтому вам всегда следует тестировать на устройстве.

Проблема с усечением становится более острой, когда вы имеете дело с вводимыми пользователем данными переменной длины, такими как имена. В этих случаях часто лучше проверять или обрабатывать ваши данные, прежде чем использовать их в проходе, иначе у вас будет мало контроля над тем, что будет показано, а что урезано.

Я не ожидаю, что когда-либо будет какое-либо официальное слово от Apple в отношении этих ограничений. Лучшее, что я мог бы порекомендовать - это сообщить об ошибке в документации и включить как можно больше подробностей о том, почему эта информация важна для разработчиков.

Я также рекомендую протестировать любые проекты проходов, над которыми вы можете работать с iOS7, поскольку алгоритмы рендеринга значительно отличаются. Этот пост на форумах разработчиков дает больше информации о различиях. (Требуется учетная запись Apple Developer).

Другие вопросы по тегам