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

Ограничения для UITextField на ввод текста На сайтах обычно это реализуется с помощью JS-скриптов, которые, теоретически, могут быть оключены пользователем на глобальном уровне, и все ограничения, реализованные с помощью JS перестанут действовать.

В iOS-приложении пользователь ничего отключить не сможет :)

Дале - примеры кода...

Ситуация: xCode v.10.xx, после импорта свежего сертификата и ключа iphone distribution в Keychain, в нем отображается красным цветом надпись:

 

Сертификат iphone distribution ненадежен

 

Сертификат iphone distribution ненадежен - iPhone Distribution certificate is not trusted 

По умолчанию объект UITextView не имеет границы (в отличие от UITextField). Иногда это не критично, но в некоторых случаях граница для текстового поля все-таки необходима:

Как добавить границу для UITextView (Swift)

Например, когда цвет фона родительского View и нашего UITextView одинаковые, и нет контраста между ними, то пользователям будет не понятно, где находится граница UITextView.

При использовании кастомных цветов для элементов интерфейса приложений могут быть проблемы с их отображением при использовании тёмной темы на устройствах.

Простая реализация поддержки тёмной темы для iOS

Чаще всего тексты могут быть просто плохо читаемы, или совсем не читаемы из-за отсутствия контраста между цветом фона и цветом, например, текстовых меток.

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

Как выровнять многострочный UILabel по верхнему краю

Когда UILabel не имеет фиксированного размера и должен меняеться динамически в зависимости от количества текста в нем, то это делается следующим образом:

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

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

xCode - UIKeyboardTaskQueue may only be called from the main thread

Если xCode при компиляции проекта ругается на часть кода и выдает ошибку, например, такую: 

 

Thread 4: Exception: -[UIKeyboardTaskQueue waitUntilAllTasksAreFinished] may only be called from the main thread.

 

Это означает, что данный кусок кода должен выполняться в главном потоке, а не в дополнительном.

При публикации приложения в App Store кроме описания программы необходимо добавлять снимки экрана. Скриншоты экрана можно сделать  с симулятора.

Размеры экранов iPhoneНо: в iTunes Connect указаны размеры экранов в дюймах, а в xCode при выборе симулятора указаны только модели iPhone и iPad без подробностей, какие у них экраны, соответственно, нужно или помнить размеры всех нужных устройств, или иметь под рукой шпаргалку.

Различные полезности xCode для начинающих. То, что облегчает жизнь разработчику и уменьшает трудоемкость. Простые мелочи, описание которых не требует отдельной статьи.

Чистый код в xCode 

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


      Установка SSL-сертификата на MDM-сервер Apple
      Установка SSL-сертификата на MDM-сервер Apple

      Для полноценной работы по администрированию мобильных устройств Apple с помощью MDM-сервера (Profile Manager) очень желательно использовать SSL-сертификат, выданный авторизованным центром сертификации. Можно, конечно, использовать и самоподписанный сертификат, созданный с помощью самого MDM-сервера - часть задач он будет решать. Но, тем не менее, будут некоторые ограничения, не позволяющие легко и просто управлять...




      File Cache Storage не поддерживается
      File Cache Storage не поддерживается

      После обновления Joomla до версии 3.6 или после чистой установки Joomla 3.6 возможно получения ошибки как на самом сайте (FrontEnd), так и в админке (BackEnd) сообщения об ошибке: Error displaying the error page: The file Cache Storage is not supported on this platform. Ситуация не приятная, но не все потеряно, и это можно легко исправить.




      Mozilla Firefox + плагины и дополнения
      Mozilla Firefox + плагины и дополнения

      27 сентября 2011 года вышла новая версия популярного браузера Mozilla Firefox - седьмая (7). Поздравляем рыжую лисичку с очередной реинкарнацией! Ура! :) Если честно, то в последнее время обновления браузеров (и Firefox и Opera) напоминает какую-то гонку вооружений. Индекс версии меняется на порядок! Неужели на столько глобальные изменения подвергают эти программы?




      Jeppesen Mobile FliteDeck версия  2.0
      Jeppesen Mobile FliteDeck версия 2.0

      Сегодня ночью (по Московскому времени, когда в американском Денвере в это время был солнечный день) фирма Jeppesen представила на всеобщее обозрение видеоролик с анонсом новой версии программы Jeppesen Mobile FliteDeck - v2. К сожалению пока не раскрывается дата, когда можно будет вживую протестировать эту программу. Действующая версия программы Jeppesen Mobile FliteDeck, существующая с прошлого года на данный...




      Ошибки Jeppesen FD PRO
      Ошибки Jeppesen FD PRO

      17 октября программа Jeppesen FD PRO получила одобрение от EASA (European Aviation Safety Agency) как програмный продукт для EFB. Одновременно с программой Jeppesen FD PRO была одобрена (сертифицирована) программа Jeppesen TC PRO.




      Содержимое файла hosts
      Содержимое файла hosts

      Многие рядовые и слегка продвинутые пользователи компьютеров много лет пользовались ими и не подозревали о существовании какого-то файла по имени hosts, не имеющего фамилии (т.е. расширения). Но благодаря вирусам и неидеальности операционных систем семейства Форточек (Windows) пользователям пришлось познакомиться с этим "хостом", причем, довольно тесно.




      Параноидальная защита контента сайта от копирования
      Параноидальная защита контента сайта от копирования

      Некоторые жадные владельцы сайтов настолько дорожат своим уникальным содержимым, размещенном в интернете, что порой удивляешься - как они вообще решились на такое - публично это все выложить в сеть?!? :))) Цифровые скряги внедряют в страницы сайта специальные JS-скрипты, блокирующие выделение текста и возможность сделать клик правой кнопкой, добавляют специальные CSS-стили, блокирующие...



Яндекс.Метрика
Сайт работает на быстром VPS/VDS хостинге от FASTVPS