что такое x custom charset на айфон
QML — больше, чем просто GUI
Пятница, как известно, — конец рабочей недели, лучшее время для развлечения и игр. А лучшие игры — это те, которые увлекательны, в которых надо немножко подумать, и в которые можно сыграть с друзьями. Одну из таких игр я и решил написать.
Этот пост не является очередным переводом или вольным изложением разнообразных QML Howto и Quick Start. Скорее, это описание подводных камней, с которыми можно столкнуться при написании реального приложения.
Когда Qt Quick/QML только было заявлено, от Нокии звучали слова, что «в перспективе не только пользовательский интерфейс будет писаться на Qt Quick, но и вся логика несложных приложений будет написана на яваскрипте, программистам не потребуется написать ни строчки кода на плюсах». Заявление было ещё более провокационное, чем мой заголовок, и сразу меня заинтересовало: я решил попробовать написать несложную игру без единой строчки кода на плюсах.
Об остальном мы узнаем под катом.
Версия первая, или война с драг-н-дропом
В качестве отправной точки была выбрана игра Цаар — настольная логическая игра для двух игроков. Я искренне надеюсь, что моя коварная реализация данной игры не вызовет негодования правообладателей, но тем не менее рекомендую заинтересовавшимся её купить — в живом виде она куда интереснее, чем в моём исполнении.
А мы возвращаемся к разработке. Первым делом я десять минут созерцал игровое поле (на рисунке сверху): во всех приличных играх оно, как известно, прямоугольное. По истечении десяти минут я сказал: «Ага!», дополнил картинку узлами так, чтобы образовалась прямоугольная сетка, после чего написал функцию для проверки, существует ли узел на самом деле.
Я так подробно расписываю свои экзистенциальные метания и так мало привожу кода, чтобы прям сейчас добавить: это самые большие проблемы, с которыми я встретился в процессе. Это действительно так. Спозиционировать поле на форме, сгенерировать и расставить фишки, сделать самодельные кнопки и вывод статуса — нет проблем! Анимировать перемещение фишек — 2 строчки! Разрешать и запрещать игроку двигать различные фишки в зависимости от фазы хода — всё это в QML делается настолько элементарно, что я могу только предложить почитать официальный мануал с примерами. К окончанию работы, js-файл со всей основной логикой, включая пустые строки и комментарии, занимал аж 173 строки или 6 функций.
Ах нет, пожалуй, я вспомнил один момент, который меня изумил и вынудил написать костылик. Этот момент называется: drag’n’drop. Да, это звучит странно, но драг-н-дроп в чуть менее, чем полностью графическом тулките сделан хреново. «Таскать» можно, оказывается, не элемента, а MouseArea, который на нём лежит. Единственное, что мы можем — это определить, какими кнопками можно жмякать, и какие ограничения по координатам у нас есть. Нельзя, как при работе с системой, обработать событие «в меня чем-то кинули, что это», нельзя разрешить кидаться элементом только в определенные объекты. Можно только обработать события pressed и released. Дальше крутись как хочешь. А в примерах, если мне не изменяет память, такими глупостями вообще занимаются только со всякими Grid’ами и List’ами, никаких тебе произвольно спозиционированных элементов. Видимо из-за этого, кстати, сказать элементу «мне то, как тебя кинули, не понравилось, вернись на место», тоже нельзя. Я же говорю, разработчики только о разборе RSS думали.
Поэтому пришлось поступать следующим образом. Свойством элемента, очевидно, являются не его координаты на экране — x и y — а позиция на доске. Координаты высчитываются исходя из позиции. При событиях pressed и released мы запоминаем исходную позицию и вычисляем, в какую новую пытались кинуть элементом. После этого вызываем функцию, отвечающую за перемещение элемента. Если функция говорит нам, что перемещение невозможно, нам надо сделать с элементом что? Правильно, вернуть в исходную позицию. Смотрите внимательно за руками:
Видите это присваивание минус единицы? Ага. Дело в том, что в QML, если присвоить свойству то значение, которое в нём уже лежит (oX и oY), то движок считает, что свойство не изменилось, и не пересчитывает всё, то что с ним связано, в нашем случае это абсолютные координаты на экране. Приходится присваивать некоторое заведомо отличающееся значение, и только потом исходное.
Сама реализация драг-н-дропа выглядит вот так:
И вот на этом все проблемы действительно закончились. В игру можно было поиграть, выиграть за белых, выиграть за чёрных. Но — на одном компьютере. Это было скучно, я жаждал игры по сети с друзьями. И тут на сцену выходит вторая итерация разработки, гораздо более интересная.
Где в этот момент я начал задумываться и о третьей проблеме, но пока до неё ещё не дошло, мы поговорим о сети.
Как я обнаружил, в QML очень бедная и грустная поддержка работы с сетью. У нас есть Ajax-запросы из javascript-движка (причём, только асинхронные), и у нас есть активно измусоленный во всех примерах XmlListModel. Мне не хотелось бы верить, что весь QML был создан исключительно для лёгкого разбора RSS-потоков.
Как бы то ни было, забегая вперёд, скажу, что самой наглядной иллюстрацией бедности работы с сетью в QML является следующая строчка:
Если коротко, я хотел бы при закрытии игры отправлять на сервер сообщение, что я отключился и сессию можно убивать. Проблема вся в том, что при приходе сигнала я создаю асинхронный ajax-запрос, «отправляю» его, а дальше… а дальше наш цикл событий (event loop) успешно продолжает работу и штатно завершает работу программы — ведь причиной сигнала был нажатый крестик в углу окна. Вуаля! Запрос никогда на самом деле не успеет дойти до сервера. Никогда. Но я пытаюсь, я верю в лучшее.
Ну а пока это всё в будущем, сейчас я ещё смотрю на два варианта общения с сетью и, естественно, отбрасываю XmlListModel. Не будь установки использовать только QML, разумеется, можно было бы просто открыть сокет, но я решил выжать всё необходимое из яваскрипта.
С одной стороны, без этого приложение, наверное, не стало бы таким интересным, как сейчас. С другой — я поимел кучу проблем. Об этом и расскажу.
Я перерыл интернет, я обнаружил инструкцию — принудительно сменить кодировку ответа на x-custom-charset — я обнаружил, что js-движок в Qt это не позволяет, и сменил кодировку прямо на сервере. После этого я скачал готовую библиотеку BinaryReader.js, которая уверяла, что способна читать текст по байтам и попробовал читать результат ещё и ей. Всё было тщетно — JS упорно отдавал мне 0xff вместо моего байта. На своё счастье я обнаружил, что индексы всех разрешенных для фишек ячеек — чётные. Я стал делить их пополам при передаче, и это позволило читать данные, как положено. В итоге код оброс ещё всего одним компонентом на 170 строк, который взаимодействовал с сервером и позволял насладиться полноценной сетевой игрой, а я подошёл к последней проблеме — о ней сразу после рекламы.
Версия третья, или куда пихать?
Интерфейсы на QML проектируются действительно очень легко и быстро, даже такими интерфейсо-ненавистниками, как я.
На QML можно написать игру или приложение, работающее с онлайн-сервисом. Если аккуратно обогнуть спрятанные грабли, то простота и удобство вас очень приятно удивят.
При толике желания из всего кода можно сделать один приятный бинарник со всеми включенными ресурсами, который и распространять
Работа с сетью всё-таки хромает. Мне кажется, разработчики игр для мобильных устройств (особенно в свете пиара NFC и тому подобного) были бы счастливы, будь у них возможность нормально установить соединение между устройствами, не вылезая на уровень C++
Искоробочный пример в qtcreator — сломан. Это страшный минус. Когда неправильно работает приложенный к IDE хеллоуворлд, это кидает страшную тень на всю библиотеку. В данном случае это наезд в сторону разработчиков QtCreator, а не самой технологии. Тем не менее, имейте в виду. Возможно, в версиях более поздних, чем моя 2.2.1, эту проблему исправили.
Судя по отпиленному синхронному режиму в XMLHttpRequest и кривой работе с побайтовым чтением, у меня сложилось ощущение, что JS-движок в Qt местами ущербен. Будьте аккуратнее.
Желающие сыграть в эту замечательную игру могут прочитать правила (возможно, их русская версия от Игроведа будет понятнее), скомпилировать игру командой qmake && make, и сыграть — только помните, что вам нужен партнёр, который тоже подключится к серверу.
Пользователи 32-битной Ubuntu 11.10 (может, и других систем, не обещаю) могут без затей скачать архив: sorokdva.net/tzaar/tzaar.tar.gz и запустить уже собранный бинарник. Для работы нужен пакет libqtwebkit-qmlwebkitplugin.
И если кому-то вдруг показалось, что это я усиленно ругаю QML, то я напомню два момента. Первый: на QML я написал игру в свободное время за, в общей сложности, максимум 40 часов (на самом деле меньше). Второй: на традиционном Qt и с его работой с графикой я написать игру не смог. И это должно уже говорить само за себя. А я в общем-то не то чтобы неосилятор.
Фанаты массово «превращают» старые iPhone в iPhone 12
Такие наборы не только имитируют новый блок основной камеры, но и добавляют плоскую рамку по периметру смартфона
В Китае набирают популярность аксессуары для iPhone XR, iPhone X и iPhone XS, которые делают старые смартфоны очень похожими на iPhone 12, если посмотреть на заднюю панель.
После выпуска iPhone 12 многие владельцы предыдущих моделей перешли на новые смартфоны, которые предлагают повышенную производительность, улучшенную камеру и поддержку мобильных сетей пятого поколения. Однако далеко не все поклонники могут позволить себе новый смартфон.
Для тех, кто хочет сделать свой старый iPhone похожим на новенький iPhone 12, и созданы данные наклейки, который отлично выполняют свою задачу. Самая простая наклейка стоит всего пару долларов, однако тем, кто всерьёз намерен выдать свой смартфон за iPhone 12, предлагают специальные наборы за несколько десятков долларов.
Такие наборы не только имитируют новый блок основной камеры, но и добавляют плоскую рамку по периметру смартфона. Производитель утверждает, что на ощупь и на взгляд такой смартфон сложно отличить от оригинального iPhone 12. При этом установка занимает всего несколько секунд.
Материал подобных наклеек является износостойким, на нём очень сложно оставить царапины.
Жесты iPhone: управление смартфоном Apple без кнопки Домой. 16 примеров
В течение первых десяти лет центром управления iPhone была кнопка Домой. В зависимости от того, сколько раз нажать и как долго удерживать эту кнопку, она выполняет самые разные функции, начиная от вызова Siri и запуска Apple Pay и заканчивая открытием переключателя приложений и меню универсального доступа.
Но начиная с iPhone X компания Apple избавилась от кнопки Домой с целью убрать рамку и освободить больше места для дисплея. На смену навигации с помощью этой кнопки пришло управление жестами. Если вы только сейчас перешли с «кнопочного» iPhone на более современную модель, оснащенную сканером Face ID, ниже мы расскажем, как им управлять без использования кнопки Домой.
Как открыть домашний экран на iPhone с Face ID
Кнопки Домой больше нет, однако на главный домашний экран все равно нужно как-то попасть (например, с экрана блокировки, с других домашних экранов, с экранов виджетов, из приложений и пр.). В iPhone 13, 13 mini, 13 Pro / 13 Pro Max, 12, 12 mini, 12 Pro / 12 Pro Max, 11, 11 Pro / 11 Pro Max, iPhone XS, iPhone XS Max, iPhone XR и iPhone X вместо кнопки для этого используется специальный жест.
1. Коснитесь пальцем панели жестов в нижней части дисплея;
2. Быстрым коротким движением смахните вверх и сразу же отпустите палец.
Жест практически такой же, как для вызова Пункта управления в других моделях iPhone. Он очень прост и быстро становится привычным.
Как переключаться между приложениями
В старых моделях iPhone для переключения с одного приложения на другое нужно было вызывать экран многозадачности. В последних моделях iPhone переключаться с одной программы на другую стало еще быстрее. Теперь вы можете перелистывать приложения.
1. Коснитесь пальцем панели жестов в нижней части дисплея;
2. Проведите пальцем слева направо, чтобы вернуться к предыдущему приложению;
3. Проведите пальцем справа налево, чтобы перейти к следующему открытому приложению.
Обратите внимание, если вы остановились или вас прервали, последнее приложение, в котором вы находились, будет считаться самым последним открытым приложением. То есть, вы сможете листать только назад, но не вперед.
Как открыть экран многозадачности
В последних моделях iPhone вы также можете легко и быстро переключаться между множеством приложений. Конечно, для этого вы больше не сможете дважды нажать кнопку Домой. К счастью, теперь предусмотрен специальный жест для вызова экрана многозадачности.
1. Коснитесь пальцем панели жестов в нижней части дисплея;
2. Смахните вверх и немного задержите палец у экрана.
На первых порах вам может понадобиться повторить жест несколько раз, чтобы открыть многозадачность, однако со временем вы достаточно попрактикуетесь, чтобы все получалось с первого раза.
Как быстро закрыть приложение
Процедура закрытия приложений в смартфонах без кнопки Домой была упрощена.
1. Коснитесь пальцем панели жестов в нижней части дисплея;
2. Смахните вверх и немного задержите палец у экрана – откроется панель многозадачности.
3. Смахните свайпами (жестами) вверх необходимые карточки приложений для их закрытия.
Как включить режим Удобный доступ (опускать экран iPhone, чтобы дотягиваться пальцем одной руки до верхней части дисплея)
Современные iPhone оснащены большими дисплеями и далеко не все пользователи обладают достаточно длинными большими пальцами, чтобы доставать до любого места на экране при пользовании смартфоном одной рукой. К счастью, теперь вы можете опустить вниз экран, чтобы расположить его ближе к нижнему краю для более комфортного использования одним пальцем.
Для начала проверьте, включена ли функция Удобный доступ на iPhone.
1. На домашнем экране откройте «Настройки» → «Универсальный доступ» → Касание;
2. Передвиньте бегунок напротив Удобный доступ в позицию «вкл»;
3. Включив функцию, вы можете пользоваться ею в любое время.
4. Коснитесь пальцем панели жестов в нижней части дисплея;
5. Сделайте быстрый и короткий свайп вниз.
В режиме Удобный доступ вы даже можете делать свайп одним пальцем с правого верхнего угла для доступа к «Пункту управления».
Как открыть «Пункт управления»
Свайп снизу вверх на современных iPhone открывает не «Пункт управления», как в старых смартфонах Apple, а сворачивает приложение, либо открывает режим многозадачности. Кроме того, в новых смартфонах «Пункт управления» переехал наверх, потеснив «Центр уведомлений», который теперь вызывается свайпом вниз от верхнего левого «ушка» или от модуля камеры TrueDepth в центре. Правое же «ушко» занимает «Пункт управления».
1. Прикоснитесь к правому «ушку» вверху экрана, где расположен индикатор заряда батареи.
2. Сделайте свайп вниз.
3. Как уже было сказано выше, в режиме Удобный доступ (Reachability) вы можете делать свайп одной рукой даже с правого верхнего угла экрана.
Как активировать (разбудить) дисплей
Раньше для этого нужно было нажимать на кнопку Домой или боковую кнопку, теперь же достаточно просто коснуться экрана.
Как включить iPhone
Нажмите и удерживайте боковую кнопку.
Как заблокировать экран
Нажмите на боковую кнопку.
Как вызвать Siri
Нажмите и удерживайте боковую кнопку (или настройте функцию «Привет, Siri»).
Как сделать Экстренный вызов (SOS)
1. Одновременно нажмите и удерживайте боковую кнопку и одну из кнопок громкости (то есть, сожмите устройство по бокам).
2. Передвиньте ползунок отвечающий за нужную функцию, чтобы послать сигнал о помощи (SOS).
Как выключить iPhone
1. Одновременно нажмите и удерживайте боковую кнопку и одну из кнопок громкости (то есть, сожмите устройство по бокам);
2. Передвиньте ползунок отвечающий за нужную функцию, чтобы выключить устройство.
Как привязать действия к касанию задней части корпуса iPhone (постучать по крышке → действие)
Не многие знают, что в Айфоне есть функция, которая позволяет смартфону выполнять быстрые действия, реагируя на постукивания по задней его части. Она может использоваться для создания скриншотов, мгновенного запуска Пункта управления, вызова Siri для запуска быстрых команд и т.д.
Для того чтобы включить ее и привязать необходимые действия, перейдите по пути: Настройки → Универсальный доступ → Касание → Касание задней панели (подробно).

Как сделать скриншот
Одновременно нажмите на боковую кнопку и кнопку увеличения громкости.
Как вызвать Apple Pay (оплачивать покупки)
Для вызова функции Apple Pay также отдельных жестов не предусмотрели. Активируется опция двойным нажатием на боковую кнопку гаджета (Вкл).
Как настроить iPhone X(s/r)/8/7/6 произносить имя звонящего
Давайте посмотрим как на iPhone настроить произношение имени звонящего абонента, если он есть в вашем списке контактов. В качестве бонуса разберемся как сделать уникальную вибрацию для выбранного контакта.
Данная статья подходит для всех моделей iPhone Xs/Xr/X/8/7/6/5 и Plus на iOS 12. На более старых версиях могут отличаться или отсутствовать указанные в статье пункты меню и аппаратная поддержка.
Включаем в iPhone функцию проговаривания имени звонящего
Еще не так давно простые телефоны Nokia, работавшие на операционной системе Symbian, могли очень внять произносить имя звонящего вам абонента. Если по данной функции вы скучаете, то на iPhone начиная с операционной системы iOS 10 подобную функцию можно легко активировать.
Разработчики Apple приложение «Телефон» существенно обновили. Была добавлена поддержка сторонних сервисов, появилась возможность произносить имя звонящего вам абонента. Настроить повторение имени стандартные настройки приложения не позволяют, время первой и следующих пауз между словами такая, как в аналогах. В настройках есть возможность указать несколько вариантов оповещений:
Для активации функции произношения имени звонящего абонента, необходимо выполнить следующую инструкцию:


Особенностью iOS 10 и последующих версий операционной системы стали более функциональные уведомления и экран блокировки. Появилась возможность использовать Siri внутри сторонних программ, что расширило функционал многих штатных приложений.
Как это работает?
Если к вам звонит абонент, записанный в телефонной книге под именем «Михаил», то во время поступления звонка Siri считает имя автоматически и произнесет его. Произношение будет выполнено с идентичным уровнем громкости, что и установленный звонок.
Как освободить место на iPhone и iPad
Отключение опции
Функция произношения имени у некоторых пользователей после обновления системы может активироваться автоматически. Каждый раз, после поступления телефонных звонков, система произносит имя абонента, которые на их iPhone звонят.
Выполняем следующие шаги для отключения функции произношения имени звонящего абонента:
Теперь во время поступления звонков не будет произношения имени абонента.
Как узнать имя звонящего, не доставая телефон?
На iPhone есть возможность создать уникальную вибрацию, которая способна оповещать про конкретный звонок. К примеру, если мы на конкретный номер абонента установим уникальный виброзвонок, то Айфон вибрировать будет во время вызова по заранее заданному алгоритму.
Создав уникальную вибрацию, ее можно сохранить под отдельным именем. Важно знать, что время на запись ограничено. Пользователям уже доступен список с готовыми различными комбинациями, поэтому их выбрать можно из имеющихся.
Как настроить iPhone X(s/r)/8/7/6 произносить имя звонящегоОцени статью
25 джейлбрейк твиков из Cydia, которые стоит перенести в iOS
Не секрет, что купертиновцы часто черпают вдохновение для новых фишек iOS в джейлбрейк-сообществе. Многие особенности ключевых обновлений мобильной операционной системы в том или ином виде существовали в виде расширений из Cydia.
В последние годы актуальность взлома iPhone стремительно падает, находить причины делать джейлбрейк все сложнее.
Однако, сообщество энтузиастов еще способно генерировать новые идеи и интересные концепты, которые достойны попадания в финальные релизы iOS. Изучил самые популярные и актуальные твики для взломанных iPhone и нашел сразу 25 расширений, которые хотелось бы увидеть в операционной системе Apple.
Расширение возможностей Touch ID и Face ID
1. Защита любого приложения на iPhone. Сейчас “запаролить” приложение в iOS можно только при помощи разных трюков или костылей. Удивительно, как на iPhone с Face ID или Touch ID нет стандартного механизма для блокировки запуска некоторых программ и игр.
Решается проблема установкой твика BioProtect XS. Расширение позволяет не только блокировать определенные приложения, но и требовать подтверждение личности при изменении некоторых системных опций. Твик настраивается очень гибко и делает гаджет более защищенным.
2. Защита скрытых Фото в галерее. Стандартный механизм скрытия фотографий в iOS не выдерживает никакой критики. Обойти его может любой пользователь, в руках которого оказался ваш разблокированный смартфон.
Небольшой твик HiddenLock14 добавляет очевидную и полезную фишку – авторизацию при помощи Face ID или Touch ID перед открытием папки со скрытыми фото.
3. Создание секретной папки с приложениями. Джейлбрейк твик Spore добавляет на экран iPhone защищенную папку. Открыть ее можно только после авторизации через Face ID или Touch ID.
В такое защищенное хранилище можно поместить важные приложения, не переживая, что их запустит муж/жена или ребенок.
4. Сохранение данных о неудачной авторизации. Еще одна полезная идея, которая лежит на поверхности, реализуется при помощи твика ToldYou.
Расширение ведет журнал неудачных разблокировок смартфона и делает снимок человека, который пытался вводить пароль на устройстве.
5. Добавление пользовательских профилей. Разделение учетных записей в iOS нужно давно. Если для iPhone такая возможность не особо актуальна, то на рабочем или семейном iPad разделять приложения и документы разных пользователей было бы очень полезно.
Подобную концепцию уже реализовали создатели твика LendMyPhone 3.
Добавление новых фишек для экрана iPhone
6. Always on дисплей для OLED моделей iPhone. Все модели смартфонов Apple начиная с iPhone X (за исключением iPhone XR,11 и SE второго поколения) оснащаются современными OLED-матрицами. На таких панелях вполне можно реализовать аналог крутой фишки некоторых Android-смартфонов под названием Always on Display.
Реализовать эту идею можно на iPhone с джейлбрейком при помощи твика Photon. Разработчики позволяют выбрать один из трех вариантов оформления панели на выключенном экране: минималистичный индикатор, аналог стандартного экрана блокировки или панель в стиле Apple Watch.
В зависимости от выбранного режима пользователь увидит часы, дату, уровень заряда батареи и данные о пропущенных уведомлениях даже на выключенном экране смартфона.
Есть другой более минималистичный подход, реализовали который в виде твика Glow. Расширение добавляет простой блок с информацией на выключенный экран iPhone.
В параметрах указываются нужные для вывода элементы и параметры их отображения.
Тонкая настройка Пункта управления
7. Добавление сторонних кнопок в шторку с переключателями iOS. Данный элемент имеет безграничный потенциал для кастомизации, но купертиновцы позволяют лишь добавлять или отключать некоторые стандартные переключатели в верхней шторке. Нет никаких индикаторов для сторонних приложений или возможности менять другие стандартные блоки.
Расширить возможности Пункта управления можно при помощи твика Coeus. Расширение позволяет скрывать практически любой ненужный элемент или кнопку, добавлять иконки для запуска сторонних приложений или слегка менять внешний вид панели.
Как минимум для быстрого запуска нужных программ с экрана блокировки iPhone такая возможность точно пригодится.
8. Совмещение Пункта управления и Центра уведомлений на iPad. Большой экран планшетов с легкостью сможет уместить обе панели на одном экране, избавляя пользователя от ненужных переключений, пары однотипных жестов и ложных срабатываний.
Реализовать подобную идею можно при помощи твика Yuna. После установки расширения две верхних шторки в iPadOS будут объединены в одну, заметно упрощая взаимодействие с планшетом. Кроме этого в параметрах твика есть множество опций для настройки внешнего вида, но и на стандартных значениях все выглядит просто отлично.
9. Удобный таймер для отключения музыки. Практически все владельцы iPhone знают, что воспроизведение музыки на устройстве можно отключить по таймеру. Однако, разработчикам системы пора сделать данную фишку более интуитивной и удобной.
Подсмотреть идею можно у разработчиков твика Sleepizy 2. После его установки на устройство удобный таймер отключения воспроизведения появляется в меню управления плеером. Кроме отключения музыки можно активировать нужный режим или выключить беспроводные модули, что в чистой системе возможно только при помощи команд автоматизации.
10. Продвинутый ползунок регулировки яркости. Многие пользователи iOS знают о возможности снижать минимальную яркость дисплея при помощи одной из фишек универсального доступа.
Раз уж такая возможность есть в iPhone, почему бы не сделать ее использование удобнее. Достаточно просто изменить значение пороговой яркости для ползунка регулировки в пункте управления, как это сделано в расширении Advanced Brightness Slider.
Дополнения для рабочего стола
11. Интерактивные виджеты на главном экране. Еще с момента переноса информационных панелей из бокового меню на рабочий стол встал вопрос полезности такого решения. Карточки программ и игр могут лишь отображать какую-то информацию, но не позволяют взаимодействовать с программами без их запуска.
Джейлбрейк твик Velox Reloaded 2 частично помогает решить эту проблему. Разработчики уже добавили более 10 интерактивных виджетов, которые помогают управлять устройством без запуска приложений.
Это могут быть панели с системными переключателями, виджет управления плеером, удобная панель для Apple Watch и пустой прозрачный виджет, которого так не хватает для удобного расположения иконок.
12. Настраиваемая библиотека приложений. Библиотека приложений в iOS позволяет собрать все приложения в одном месте и разгрузить рабочий стол. Однако, стандартный элемент системы не позволяет настраивать папки внутри самой библиотеки.
Многим пользователям хотелось бы иметь возможность перемещать иконки между папками, менять местами сами папки или переименовывать их. Решить подобную задачу можно при помощи твика App Library Enabler.
13. Более удобное расположение библиотеки приложений. Еще одним камнем в огород разработчиков библиотеки является ее расположение. При большом количестве рабочих столов добраться до сгруппированного списка программ будет проблематично.
В мире джейлбрейка проблема решается установкой расширения Vinculum 2. расширение позволяет вызывать библиотеку с любого рабочего стола свайпом вверх по док-панели.
14. Настройка сетки иконок. В модельном ряду iPhone и iPad есть множество гаджетов с разными размерами и пропорциями дисплея. Стандартная сетка расположения иконок на некоторых гаджетах выглядит не очень привлекательно.
Иногда так и хочется добавить дополнительную строку или столбец с ярлыками приложений. А еще с момента выхода самого первого iPhone мы ждем возможность размещать иконки в любом месте рабочего стола. Все это возможно с твиком Atria из Cydia.
15. Быстрое отключение уведомлений для любого приложения. Сейчас на iPhone для отключения уведомлений от определенного приложения приходится копаться в дебрях системных настроек или ждать баннер нужной программы на экране блокировки.
Более простой и удобный способ отключения сообщений для программы или игры придумали разработчики твика Quiet. Расширение добавляет новый пункт меню при сильном или долгом нажатии на иконку.
Расширения для стандартной клавиатуры
16. Добавление удобных сочетаний клавиш для iOS. Купертиновцы уже несколько лет не развивают стандартную клавиатуру iPhone, а ведь ее улучшение могло бы вывести удобство использования системы на новый уровень.
Отличную реализацию такой идеи демонстрируют разработчики твика SwipeExtenderX. После его установки появляется возможность добавить большое количество новых жестов для активации системных действий. Например, можно настроить копирование, выделение, вставку или удаление текста при помощи свайпов по нужным кнопкам.
Отдельного внимания заслуживает возможность быстрого ввода цифр или символов, перенесенная из iPadOS.
17. Заполнение неиспользуемого пространства под клавиатурой. На всех моделях iPhone с Face ID используется смещенная от нижнего края дисплея клавиатура. При этом пространство под ней практически не задействовано.
Разработчики твика Key+ решили устранить этот недочет. Расширение по выбору пользователи добавляет удобную нижнюю панель с часто используемыми эмодзи, кнопки управления буфером обмена или другие полезные элементы.
Улучшения для звонилки
Хоть телефонная звонилка в последнее время теряет актуальность из-за большего распространения мессенджеров и социальных сетей, купертиновцам не помешало бы добавить несколько полезных опций и дополнений в данное приложение. Тем более, что утилита Телефон позиционируется как общий хаб для объединения всех голосовых и видеозвонков на смартфоне.
18. Быстрый поиск абонентов и добавление T9. Такие возможности добавляет джейлбрейк расширение EasyDialer14. После его установки стандартные клавиши в поле набора номера позволяют искать абонентов, как на старых кнопочных телефонах с функцией T9. При должной сноровке получится находить нужный контакт всего в 2-3 нажатия.
Обладатели объемной телефонной книги такую фишку точно оценят. А еще разработчики добавили пару удобных кнопок для удаления последнего символа и создания контакта, которые гармонично заполняют пустоты в нижней панели приложения.
19. Поиск в журнале вызовов. Странно, что разработчики Apple не добавили стандартный механизм поиска со строкой в верхней части дисплея для данного элемента звонилки. Небольшой твик Searchy исправляет эту оплошность.
С ним получится ограничивать круг поиска в перечне пропущенных вызовов или по всей истории звонков.
20. Быстрый вызов избранных контактов. Пользователи и энтузиасты продолжают искать достойную замену пропавшему в iOS 14 виджету Избранное. Новая информационная панель из iOS 15 выглядит громоздко и не предоставляет возможности звонка по одному тапу.
При помощи джейлбрейк твика CallFavorites можно осуществлять звонки любому из списка избранных контактов после долгого или сильного нажатия на иконку звонилки. Расширение работает как на устройствах с 3D Touch, так и на гаджетах с Haptic Touch.
21. Меню для вызова абонентов через мессенджеры. Стандартная карточка контакта в iOS уже содержит ссылки для вызова человека через любой установленный на устройстве мессенджер.
Вот только для этого приходится открывать саму карточку и находить нужную ссылку в дополнительном меню вызова. Можно упростить этот процесс при помощи твика Contacts Extended. Он добавляет знакомое по многим приложениям боковое меню со ссылками на доступные мессенджеры.
Другие удобные дополнения
22. Запуск любых приложений с экрана блокировки. Такую возможность, к сожалению, до сих пор не придумали разработчики Apple. Простой твик Aperio позволяет немного изменить внешний вид экрана блокировки и попутно добавить на него новую настраиваемую панель.
Блок с иконками позволит запускать нужные приложения одним нажатием, разумеется, после разблокировки гаджета через Touch ID или Face ID.
23. Удобные уведомления о низком уровне заряда батареи. Еще одним спорным элементом iOS являются уведомления о разряде аккумулятора.
Стандартные сообщения прерывают работу любого приложения, чтобы сообщить о необходимости подключения зарядного устройства. Каждый пользователь iPhone видит пару таких сообщений минимум дважды в день и уже рефлекторно закрывает их.
Гораздо круче смотрятся подобные сообщения в стиле некоторых системных уведомлений из iOS 14/15. Они отображаются в верхней части экрана и не требуют обязательного действия от пользователя. Меняет внешний вид системных уведомлений о разряде батареи твик Electrode.
24. Больше индикаторов в статус-баре. С появлением в линейке iPhone модуля Face ID свободное место в статусной строке сильно уменьшилось. Сейчас в панель не помещаются даже все стандартные индикаторы, не говоря уже о сторонних.
Вместо нагромождения базовых иконок логичнее было бы позволить пользователям выбирать желаемые иконки из списка. Реализовать такую фишку можно при помощи твика Emerald.
25. Перенос любого приложения в CarPlay. Купертиновцы словно “заморозили” развитие своего автомобильного модуля и отдали разработку новых фишек на откуп создателям сторонних приложений.
Пользователи вынуждены буквально выпрашивать добавление той или иной программы в CarPlay у ее создателей. Проще и эффективней сделать собственную систему адаптации утилит под интерфейс CarPlay.
Такая возможность появляется на всех смартфонах с джейлбрейком после установки твика CarBridge.
Вот такой набор полезных и интересных дополнений мог бы гармонично вписаться в следующие версии мобильной операционной системы для iPhone и iPad.




































