Для того, чтобы пользователи приложения не тыкали своими шаловливыми ручками куда попало не могли вводить заведомо не корректный текст, можно реализовать ряд ограничений для них.
На сайтах обычно это реализуется с помощью JS-скриптов, которые, теоретически, могут быть оключены пользователем на глобальном уровне, и все ограничения, реализованные с помощью JS перестанут действовать.
В iOS-приложении пользователь ничего отключить не сможет :)
Дале - примеры кода...
Ситуация: xCode v.10.xx, после импорта свежего сертификата и ключа iphone distribution в Keychain, в нем отображается красным цветом надпись:
Сертификат iphone distribution ненадежен
По умолчанию объект UITextView не имеет границы (в отличие от UITextField). Иногда это не критично, но в некоторых случаях граница для текстового поля все-таки необходима:
Например, когда цвет фона родительского View и нашего UITextView одинаковые, и нет контраста между ними, то пользователям будет не понятно, где находится граница UITextView.
При использовании кастомных цветов для элементов интерфейса приложений могут быть проблемы с их отображением при использовании тёмной темы на устройствах.
Чаще всего тексты могут быть просто плохо читаемы, или совсем не читаемы из-за отсутствия контраста между цветом фона и цветом, например, текстовых меток.
Если содержимое UILabel в интерфейсе мобильного приложения может варироваться от одного короткого слова до двух предложений, то нужно немного постараться, чтобы это выглядело адекватно хорошо на различных устройствах с разными экранами.
Когда UILabel не имеет фиксированного размера и должен меняеться динамически в зависимости от количества текста в нем, то это делается следующим образом:
Функция для вычисления факториала с помощью Swift:
func factorial(_ x: Int) -> Int {if x < 1 {return 1}return x * factorial(x-1)}
Запуск функции:
var z = factorial(-3)print(z)
В некоторых ситуациях пользователям iPhone или iPad может быть не удобно задействовать две руки, чтобы сделать скриншот экрана во время использования приложения, и они были бы счастливы делать это с помощью нажатия на одну кнопку - прямо в интерфейсе приложения.
На самом деле ни разу даже не возникало такой мысли - делать скриншот экрана iPhone с помощью одной кнопки в интерфейсе приложения, пока один товарищ не рассказал, что есть категория пользователей устройств Apple "старой закалки", которым не удобно растопыривать пальцы и задейстывовать две руки для сохранения изображения экрана.
Если xCode при компиляции проекта ругается на часть кода и выдает ошибку, например, такую:
Thread 4: Exception: -[UIKeyboardTaskQueue waitUntilAllTasksAreFinished] may only be called from the main thread.
Это означает, что данный кусок кода должен выполняться в главном потоке, а не в дополнительном.
При публикации приложения в App Store кроме описания программы необходимо добавлять снимки экрана. Скриншоты экрана можно сделать с симулятора.
Но: в iTunes Connect указаны размеры экранов в дюймах, а в xCode при выборе симулятора указаны только модели iPhone и iPad без подробностей, какие у них экраны, соответственно, нужно или помнить размеры всех нужных устройств, или иметь под рукой шпаргалку.
Различные полезности xCode для начинающих. То, что облегчает жизнь разработчику и уменьшает трудоемкость. Простые мелочи, описание которых не требует отдельной статьи.
Конечно, после использования много раз это запомнится, и шпаргалка будет не нужна, но даже в этом случае она может пригодиться другим.
Передача информации из одной системы в другую с помощью очередей (Queues) считается самым недёжным вариантом, не даром, очереди часто используются в банковской сфере. Данный функционал может быть реализован с помощью любой из технологий: IBM MQ, Rabbit MQ, Apache Active MQ и др. Некоторые решения являются платными (IBM MQ), некоторые - бесплатными. IBM MQ по моему мнению является самой крутой...
В контуре управления мобильными устройствами MDM-сервера могут находиться как корпоративные планшеты и телефоны, так и устройства, являющиеся собственностью сотрудников организации, так называемые BYOD-устройства (Bring Your Own Device). Иногда при выполнении привязки (Enrollment) к MDM-серверу Apple (Apple Configurator + Profile Manager) BYOD-устройств во время попытки установить профиль...
Как гласит библейская легенда (не смотря на то, что в ней множество нестыковок, как и во всей библии - по мнению французского писателя Лео Таксиля), что при строительстве Вавилонской башни произошло нечто, и все люди стали говорить на разных языках - и из-за этого башню не удалось построить. Так и в авиации до сих пор существуют атавизмы - различные геодезические модели земного шара,...
С 12 UTC 18 мая 2017 по решению Росгидромета из международного обмена исключили метеоданные по 14 аэродромам РФ (Письмо от Росгидромета в Росавиацию №140-02969/17И от 27.04.17.). Это значит, что информация METAR и TAF по этим аэродромам с этого момента не будет поступать в международные метеорологические банки данных и, соответственно, будет отсутствовать в базах данных Lufthansa Systems...
При использовании Программы Развертывания (Deployment Program) BYOD при установке профиля регистрации (Enrollment Profile) мобильного устройства на MDM-сервере, установка профиля может не выполнится, а мобильное устройство отобразит сообщение с ошибкой: Сбой установки профиля. iPad не активирован При установке профиля регистрации на контролируемые устройства (supervised devices) такая ошибка не может быть в принципе. Но если планшет является личным устройством, и...
Некоторые жадные владельцы сайтов настолько дорожат своим уникальным содержимым, размещенном в интернете, что порой удивляешься - как они вообще решились на такое - публично это все выложить в сеть?!? :))) Цифровые скряги внедряют в страницы сайта специальные JS-скрипты, блокирующие выделение текста и возможность сделать клик правой кнопкой, добавляют специальные CSS-стили, блокирующие...
Некоторым авиационным специалистам (пилотам, штурманам), а также курсантам авиационных училищ в определенный момент времени может понадобиться инструмент для выполнения некоторых инженерных расчетов. В качестве такого инструмента может выступать навигационная линейка НЛ-10, или компьютерная программа.