Как сделать режим разработчика на ios
Как сделать
«Developer» в настройках iPhone и iPad — что это и как убрать?
Всем привет! iPhone умеет удивлять. Вот вроде бы всё уже изучено вдоль и поперёк, а тут… бац, сюрприз! Причем сегодня произошло такое, с чем я вообще никогда не сталкивался — в настройках телефона появился загадочный пункт «Developer». Почему загадочный? Потому что:
Ничего не понял, но очень интересно © Один известный видеоблогер.
А раз интересно — надо разбираться… И давайте начнем с самого главного!
А что это вообще за «Developer» в настройках iPhone или iPad?
Если быть кратким, то это специальный раздел, который появляется при установке сертификата разработчика, разработке собственного приложения или использования сторонних инструментов для работы с вашим iPhone или iPad.
В общем, штука исключительно для разработчиков и к обычному пользователю имеет самое опосредованное отношение.
Откуда на вашем iPhone или iPad появился «Developer»?
Несмотря на то, что «Developer» — это «история» для разработчиков, данный пункт может появиться на любом «среднестатистическом» iPhone.
Откуда он взялся? В этом могут быть виноват(-ы):
У меня, кстати, пункт «Developer» появился в тот момент, когда я изучал возможности программы 3uTools (записывал экран, скачивал рингтоны и делал скриншоты) — хотел изучить одно, а в итоге занялся совершенно другим:)
«Developer» — это опасно? Есть угроза моему iPhone или iPad?
Само меню абсолютно безопасно.
Это не вирус и в нём нет ничего страшного.
Ведь статистика и анализ собирается только для того приложения, которое явилось причиной появления настройки «разработчика».
Но! Опасность могут представлять те программы, которые явились причиной появления «Developer». Особенно в том случае, если это какие-то малоизвестные приложения. Будьте внимательны и помните об этом!
Как удалить «Developer» с iPhone или iPad?
Конкретного пункта меню, который отвечает за удаление «Developer», нет. Тогда что же делать? Как избавиться от меню «Разработчик»?
Самый верный способ:
Перезагрузить устройство. Для верности, можно сделать жесткий перезапуск. Чтобы, так сказать, наверняка:)
Помогает практически всегда.
Если ничего не получилось, то остаются вот такие варианты.
Впрочем, до таких манипуляций дело доходит крайне редко. И это не может не радовать!:)
Вот и всё. Надеюсь, статья была хоть немного полезной (ставьте «лайк», если это действительно так) — дополнительные знания никогда не бывают лишними!:)
Почему стоит включить Режим разработчика в Safari прямо сейчас
Объясняем на примерах из вашей (и нашей) жизни.
Режим Разработчика – специальное меню в стандартном браузере Safari, которое открывает доступ к дополнительным функциям приложения. Часть возможностей пригодится разработчикам ПО и сайтов, но каждый из вас найдет в нем нечто полезное.
Включаем Режим разработчика
Для активации меню, которое скрыто по умолчанию, достаточно перейти в настройки (Safari – Настройки), открыть раздел Дополнения и активировать последний флаг на странице.
После этого в строке меню появится новый раздел Разработка.
Теперь давайте посмотрим, что интересного можно найти в открывшемся разделе.
1. Открытие страницы в другом браузере
Очень часто бывает необходимо открыть тот или иной сайт в Сhrome или другом приложении. Делать это следует, например, для просмотра 360-градусного видео на YouTube или корректного отображения Flash на странице.
Чтобы не копировать путь из адресной строки и не вставлять его в другом приложении, используем пункт Открыть страницу с помощью из меню Разработка.
2. Просмотр всех ресурсов веб-страницы
Когда нужно сохранить данные с сайта или загрузить картинку, которая защищена от выделения, пригодится данный режим просмотра. Открыть его можно из меню Разработка – Показать ресурсы страницы или воспользоваться сочетанием клавиш Command + Alt (Option) + A.
Слева в браузере можно просмотреть используемые на странице шрифты и картинки. Продвинутым пользователям пригодятся скрипты, фреймы и таблицы стилей.
3. Быстрая очистка кэша
Когда нужно удалить все служебные данные, сохраненные в памяти части страниц и прочий мусор, можно быстро очистить системный кэш.
Такая опция расположена в меню Разработка – Очистить кэши (Command + Alt (Option) + E), а ниже есть возможность вовсе отключить кэширование данных при работе с браузером.
4. Отключение картинок и скриптов
Во время работы через медленный Wi-Fi в кафе или отеле может пригодиться функция отключения загрузки скриптов и картинок. Находится она в нижнем блоке меню Разработка.
Каждый пункт отвечает за отключение определенных данных на странице. Для экономии трафика или повышения скорости загрузки страниц используем отключение картинок, остальные пункты применяем в экспериментальных целях при некорректной работе того или иного сайта.
5. Просмотр сайтов в режиме мобильного устройства
Когда понадобится узнать, как выглядит страница на экране iPhone или iPad, обязательно пригодится адаптивный режим просмотра, который разработчики OS X назвали Пользовательский агент.
Находится он в уже знакомом меню Разработка. После активации данного режима над открытой страницей появятся кнопки для переключения вариантов отображения. Всего в пару нажатий можно увидеть верстку сайта на экране iPhone и iPad любой модели.
Есть режимы отображения страницы в других браузерах и при низком разрешении экрана.
Как видите, меню Разработка включает в себя несколько полезных опций, которые могут пригодиться большинству пользователей компьютеров Mac.
Артём Суровцев
Люблю технологии и все, что с ними связано. Верю, что величайшие открытия человечества еще впереди!
Как зарегистрировать аккаунт разработчика Apple Developer
Пошаговое руководство по созданию учетной записи Apple Developer для ваших iOS приложений.
ВАЖНО: Apple теперь требует, чтобы все, участвующие в их программе для разработчиков, владели устройством iOS, поэтому, если у вас его еще нет, вам нужно будет его купить.
Важное примечание. Имя разработчика, указанное в iTunes App Store, зависит от типа учетной записи, выбранной из указанных ниже параметров.
В приложениях, опубликованных в индивидуальных учетных записях разработчиков, будет отображаться имя, указанное в учетной записи разработчика iOS. В приложениях, опубликованных в учетных записях разработчиков компании/организации, будет отображаться название компании, введенное в учетной записи разработчика iOS. Если ваше приложение зарегистрировано в вашей компании, вам необходимо зарегистрировать учетную запись разработчика компании/организации под названием вашей компании. Если ваше приложение является личным, вы можете зарегистрироваться в индивидуальной учетной записи разработчика. Регистрация в правильном типе учетной записи разработчика поможет поддерживать ваше приложение и учетную запись в соответствии с рекомендациями Apple и поможет в процессе модерации.
Частные лица или компании без официально признанного бизнеса (компания без номера D.U.N.S. и Bradstreet). Эта учетная запись допускает создание только одной основной учетной записи для учетной записи разработчика iOS. Кроме того, имя разработчика, которое будет опубликовано (в App Store), будет вашим именем и фамилией. Если вы предпочитаете, чтобы название компании отображалось в качестве имени разработчика, вам необходимо настроить свою учетную запись как компанию/организацию.
Юридически признанные компании с номерами D.U.N.S. и Bradstreet могут выбрать эту опцию. Это позволит создавать и управлять несколькими именами пользователей с различными возможностями для каждого входа. Также, такой тип аккаунта необходим, если разрабатывается приложение webview, такое, как делает Appverter.
Если ваше приложение зарегистрировано в вашей компании (в отличие от отдельного лица), вам нужно будет зарегистрироваться в качестве компании/организации, и для этого вам нужно будет указать номер D.U.N.S. Если вы не уверены, есть ли в вашей компании номер D.U.N.S., вы можете посмотреть здесь.
Если у вас еще нет номера DUNS, его можно получить бесплатно, и вы можете получить его на этой странице. Если вам нужна помощь в получении номера DUNS, вы можете выполнить действия, описанные здесь или тут.
Получив номер DUNS, вы можете предоставить его Apple во время регистрации в Apple:
Как включить режим разработчика на iPhone и iPad в iOS 12
Часто при попытке установить программу или игру не из официального магазина Apple App Store на экране айфона возникает надпись о том, что происходит скачивание и установка приложения из ненадежного источника. Таким образом операционная система пытается обезопасить владельца гаджета от вирусов, троянских программ и просто от неофициально поставляющихся продуктов. Уведомление раздражает, и многие ищут способы, как его убрать. В этой статье будет подробно рассмотрено, что такое ненадежный корпоративный разработчик, как убрать на айфоне с iOS 12 и других версий.
Что означает ненадежный корпоративный разработчик на айфоне
По сути, такое сообщение ошибкой не является. Это уведомление, и оно никак не влияет ни на основные функции операционной системы, ни на ее дополнительные компоненты. Полный текст сообщения выглядит следующим образом: «Ненадежный корпоративный разработчик не был обозначен как надежный на этом iPhone. Пока этот разработчик не будет обозначен как надежный, его корпоративные программы нельзя будет использовать».
Ошибка на iOS9 «Untrusted Enterprise Developer»
Как все знают, программы и игры на айфон должны скачиваться только из официального магазина App Store. Это работает для большинства пользователей, но есть и другая группа – корпорации и компании. Они также могут использовать смартфоны не только для звонков и выхода в сеть, но и для решения задач, связанных с бизнесом. Для этого им нужны специализированные программы. Когда последние готовы, то отправлять их в магазин и ждать никто не будет. Для этого существует «Установка корпоративных программ».
Важно! Чаще всего эту функцию используют не по назначению и распространяют через нее программы, которые по тем или иным причинам были заблокированы в официальном магазине или не были допущены к продаже в принципе.
Помимо не допущенных к продаже и установке программ, в файлах могут содержаться вирусы и прочие вредоносные программы. Этого нельзя исключать. Никогда не стоит открывать доступ к фотографиям, видеозаписям, музыке и прочим данным программе, которая установлена не из официального источника.
В случае, когда операционная система блокирует установку приложения из стороннего источника, а его все равно надо поставить, сообщение придется убрать. Если появляется ошибка «Разработчик не был обозначен, как надежный на этом iPhone», и что с ней делать – подробно рассказано в следующих разделах.
Исправить ошибку поможет добавление фирмы в доверенные
Одно дело, когда приложение просит номер телефона для регистрации, отправки уведомлений и других действий. И совершенно другое, когда софт, не успев установиться, уже требует ввести личную информацию о себе или других людях, а также запрашивает номер банковской карты или другие конфиденциальные данные.
Таблица умений iOS-разработчика
Junior | Middle | Senior | |
Возможности | может создать новостное приложение, общающееся с JSON API | может оперативно спроектировать и реализовать быстрый и надёжный чат-модуль | может устанавливать стандарты поведения в команде без опоры на фанатизм |
Интеграция кода | манипулирует кодом через git | имеет своё мнение о GitFlow | имеет собственные идеи об организации CI и автоматизации регулярных задач |
Парадигмы | понимает, в чём состоит суть ООП | имел дело с ФРП | привносит полезные решения из других платформ и парадигм |
Зависимости | умеет пользоваться Cocoapods | знает, почему приложения не могут использовать SPM, но возможно применение Carthage | знает, почему важно управлять зависимостями и сокращать их |
Платформа | применяет массивы, словари и множества | разбирается в Value/Reference типах и Equatable/Hashable | знает нюансы диспетчеризации методов как в Swift, так и в Obj-C |
Клиент-сервер | легко получает JSON из интернета | может реализовать real-time чат на базе веб-сокетов | написать видеочат — выполнимый вызов |
Справочные источники | ответ на любой вопрос ищет на StackOverflow | часто пользуется официальной документацией | задаёт вопросы разработчикам платформы и способен на реверс-инжиниринг |
Память | знает, как предотвращать и устранять утечки памяти | знает NSPointerArray и понимает, почему структуры утяжеляют исполняемый файл | имеет стратегию снижения количества отказов по причине нехватки памяти |
Графический интерфейс | может сверстать простой графический интерфейс в Interface Builder’е | имеет основания верстать UI в коде | может вынести вёрстку и diff calculation в неосновной поток |
Многопоточность | считает asyncAfter своим другом, повсюду применяет @synchronize | asyncAfter вреден, thread синхронизация потоков — источник проблем | понимает проблемы многопоточности глубже блокировок |
Подход | ожидает от коллег подсказок и советов | делится принятыми решениями с командой при обсуждении проекта | принимает ответственность за проектные решения, принятые коллегами |
Паттерны проектирования | понимает Delegation, Target-Action и MVC | умело использует шаблоны Observer, Facade и Mediator | знает золотую середину между внедрением зависимости и локатором служб |
Качество продукта | приложение считается протестированным, если оно работает на моём телефоне | пишет модульные тесты, пробовал TDD и UI-тесты | задаёт легко поддерживаемую пирамиду тестов с неперекрывающимися областями покрытия |
Таблицу в форме изображения и markdown-версию ищите на Github’е.
Всегда нужно стремиться к объективности, когда мы оцениваем себя или потенциальных членов команды.
К сожалению, чем точнее мы пытаемся ответить на вопрос, тем сильнее отдаляемся от истины.
Эта таблица умений — результат попытки определить примерные требования к кандидатам на должность iOS-разработчика.
Она стремится быть:
Уровни
Деление данной таблицы на три уровня не означает, что такой подход можно встретить в любой организации, но минимальное количество уровней позволяет продемонстрировать больший разрыв между показателями. Деление на пять и более уровней может нести практическую пользу для организации (возможность ежегодно повышать сотрудников), но также и может обернуться трудностями при оценке уровня кандидата.
Области
Данные области были выбраны исходя из повседневного опыта, большинство разработчиков ежедневно имеют дело с несколькими индикаторами этой таблицы. Некоторые области порой могут подолгу оставаться без внимания, так как у большинства из нас нет возможности поработать со всем, с чем хотелось бы на работе. Поэтому особенно важно изучать то, чем вы не занимаетесь на работе
и
посещать собеседования
хотя бы раз в год, это будет держать вас в форме!
Как не следует применять таблицу
Не используйте её как единственный инструмент
для оценки соискателей или как
учебный план
. Это всего лишь
индикаторы
знаний, ключевые слова.
Изображение и markdown-версию ищите на Github’е.
Автор: Bohdan Orlov Дата публикации: 13.06.2018 Оригинал статьи Перевод: Борис Радченко, Дата перевода: 02.08.2018
Как избавиться от сообщения «ненадежный корпоративный разработчик» на айфоне
Как убрать безопасный поиск в ВК на айфоне
Вопрос о том, как сделать приложение надежным на айфон, еще не решен. Чтобы программы из неофициальных источников могли спокойно устанавливаться, необходимо убрать уведомление, то есть полностью избавить себя от его появлений. Для этого есть два способа:
Первый способ самый простой и объяснять его не нужно. Программа просто удаляется и ей ищется замена. Это не всегда устраивает пользователей, поэтому следует перейти ко второму способу.
Для его выполнения:
После этих действий разработчик и все его приложения станут доверенными, и операционная система айфона или айпада не будет «ругаться» на их установку.
Отключать сообщение нужно в конфигурациях смартфона
Установка корпоративной программы и доверия к ней вручную на айфоне
Как убрать зеркальное отражение на айфоне — пошаговая инструкция
Как уже стало понятно, система не позволит установить программу из стороннего источника по соображениям безопасности и для защиты от вирусов и прочего вредного ПО. Более того, компания Apple хочет, чтобы права разработчиков соблюдались и софт загружался с официального магазина App Store.
Когда человек в первый раз откроет корпоративную программу, которая была установлена вручную, то он получит уведомительное сообщение, в котором будет говориться о том, что ее разработчик не является доверенным на данном устройстве, а значит это может быть вредоносное ПО. Сообщение может быть проигнорировано, но тогда запустить программу не удастся.
Для того чтобы выключить уведомление, необходимо попасть в параметр «Управление устройством»
Выход из ситуации есть – закрыть окно уведомления и добавить компанию разработчика в список доверенных лиц на данном айфоне или айпаде. Для этого:
Важно! Разработчик будет оставаться «доверенным» на устройстве до тех пор, пока не будет произведено «Удаление программы», что повлечет за собой стирание всех приложений данного разработчика.
Как обозначить приложение надежным на айфоне
Как убрать увеличение экрана на айфоне — уменьшение иконок и значков
Настало время разобраться с тем, как обозначить надежного разработчика на iPhone. Обозначение надежности приложения – это то же самое, что и обозначение надежности разработчика.
Приложение, которому нужно предоставить доверие, автоматически высветится в соответствующем окне
Если указать доверие к приложению, то его получит и производитель и, как следствие, все остальные его продукты, которые можно будет установить и использовать на данном гаджете айфон или айпад. Из этого исходит то, что добавление программы в список доверенных является тем же самым действием, что и подтверждение надежности поставщика программного обеспечения.
Следовательно, подойдет способ, описанный выше. Если пользователь столкнулся с подобным уведомлением, то его необходимо принять и следовать пошаговой инструкции:
Это позволит установить и запустить на iPhone или iPad приложение не и официального магазина App Store.
Apple хочет, чтобы пользователи скачивали ПО только из АпСторе
Важно! Подпункт «Профили и управление устройством» не появится в настройках до тех пор, пока пользователь впервые не столкнется с проблемой «Ненадежный корпоративный разработчик».
Как отключить режим разработчика в Android и убрать его из меню
Отключить режим разработчика крайне просто, достаточно зайти в пункт меню «Для разработчиков» в настройках и перевести переключатель в правом верхнем углу в положение «Выключен».
Но это только отключит данный режим, при этом он сам раздел останется в настройках. Чтобы его полностью убрать из меню, потребуется сделать следующие действия:
После выполнения описанных выше манипуляций, раздел «Для разработчиков» пропадет из меню настроек.
Важно: Не во всех моделях смартфонов и планшет можно найти пункт «Стереть данные» в настройках. Если такого пункта нет, убрать режим разработчика из настроек можно только при полном сбросе смартфона.
(417 голос., средний: 4,54 из 5)
Похожие записи
Как включить отладку по USB на Android
Как установить обои на iPhone
Какие ограничения накладываются на ненадежного корпоративного разработчика на айфоне
Ограничение по сути одно – невозможность запустить программу такого производителя цифровых продуктов и пользоваться. Оно и самое существенное. Человек просто не сможет воспользоваться предоставленным функционалом или старой и стабильной версией того или иного приложения, которое необходимо ему из-за технических особенностей его девайса.
Важно! Сюда входит и невозможность обновить операционную систему для работы с новыми версиями приложений, ошибки и сбои в новых сборках программного обеспечения и так далее.
Программа из сторонних источников может быть зараженной
Таким образом, было разобрано, что такое ненадежный разработчик iOS, отключить которого можно через меню настроек. Вопрос, как на айфоне обозначить надежного разработчика, решается с помощью одной функции, которая позволяет не только убирать уведомление, но и обратно снимать статус доверия с объекта разработки.
iOS Инструменты разработчика
Всем привет, меня зовут Григорий, последние 5 лет занимался программированием под iOS. Сейчас решил сменить сферу деятельности и ударился в веб, но чтобы добро не пропадало, хочу поделиться с сообществом своими наработками, накопившимися за это время. Библиотеки выложены на GitHub и добавлены в CocoaPods. Инструкции по установке и использованию вы сможете найти по ссылкам на GitHub, здесь же будет краткое описание.
Минимальная поддерживаемая версия — iOS 6.0.
LGAlertView
UIAlertView — один из часто используемых компонентов при разработке на iOS. Выглядит и работает из коробки замечательно, проблема в том, что возможностей кастомизировать его Apple практически не дает, есть только несколько стандартно заданных стилей отображения. А что если нам нужно вставить внутрь свою вьюху, или банально поменять цвет кнопок или фона? Вот и было принято решение написать универсальный класс, который повторял бы работу UIAlertView, но имел широкие возможности по настройке. Так и появился LGAlertView.
При инициализации у нас есть возможность выбора между несколькими стилями:
Стандартный (заголовок + сообщение + кнопки):
Cо встроенной вьюхой (заголовок + сообщение + UIView + кнопки):
C индикатором активности (заголовок + сообщение + UIActivityIndicatorView + кнопки):
C полосой прогресса (заголовок + сообщение + UIProgressView + кнопки):
C полями ввода (заголовок + сообщение + поля ввода + кнопки):
Для возможности отлавливать события есть несколько путей: делегирование, как в стандартном UIAlertView, и блоки (кому как больше нравится). Кроме того, предусмотрены NSNotification для появления и исчезновения LGAlertView с экрана. Сначала думал добавить нотификации и для кнопок, но решил, что все-таки это будет лишним.
Для настройки внешнего вида есть много свойств. Перечислять их долго, думаю из названий должно быть все понятно:
Чтобы показывать или скрывать LGAlertView предусмотрены следующие методы:
Кроме того удалось добиться правильного поведения в случае, когда появляется несколько вьюх подряд без закрытия предыдущих. Вы можете не боясь комбинировать UIAlertView, UIActionSheet, LGAlertView и LGActionSheet. При появлении новых старые будут исчезать, а при исчезновении — появляться.
LGActionSheet
Причины появления и принцип действия аналогичны LGAlertView.
Стили при инициализации:
Стандартный (сообщение + кнопки):
Cо встроенной вьюхой (сообщение + UIView + кнопки):
События отлавливаются с помощью делегирования, блоков и нотификаций:
Настройка внешнего вида и анимаций (по умолчанию анимации для iPhone и iPad различается):
Чтобы показывать или скрывать LGActionSheet предусмотрены следующие методы:
LGSideMenuController
Без выезжающих боковых меню в наше время не обходится практически ни одно серьезное приложение. В какой-то момент надоело писать для каждого проекта разовые решения и была создана данная библиотека.
- Поддерживается как левое меню, так и правое
- Различные виды анимаций
- Показ и скрытие по нажатию кнопки и по жесту
- Настройка правил показа для разных девайсов и ориентаций (например можно сделать меню нескрываемым для landscape ориентации на iPad)
- На выбор скрывать или показывать статус бар
- Широкие возможности по настройке внешнего вида
Обычная инициализация корневого контроллера в AppDelegate.m:
Инициализация с LGSideMenuController’ом:
Настроить боковые меню тоже не сложно. Сначала необходимо включить те меню, которые вам нужны (левое, правое или обе):
Далее добавьте свои вьюхи, которые будут показываться в боковом меню:
Чтобы показывать или скрывать боковые меню предусмотрены следующие методы:
Также присутствуют следующие NSNotifications:
LGPlusButtonsView
Google последнее время активно продвигает свой Material Design, одним из компонентов которого является кнопка "+", вызывающая какие-либо дополнительные опции. Решение довольно интересное. На моей практике был заказчик, который просил подобный функционал реализовать на iOS. Поэтому тянуть резину не стал и сразу решил написать универсальное решение.
- Можно добавить на любую вьюху
- Если добавлено на UIScrollView то при скролле будет скрываться
- Различные анимации появления кнопок
- Можно выводить в любом из углов
- Широкие возможности по настройке внешнего вида
События отлавливаются с помощью делегирования или блоков:
Настройка внешнего вида и анимаций:
Чтобы показывать или скрывать LGPlusButtonsView, предусмотрены следующие методы:
LGFilterView
Довольно часто в новостных приложениях приходится делать фильтры, к примеру, для выбора категории выводимых материалов. Логика у них вполне похожа, обычно это выпадающая таблица с названиями. Данный функционал и реализует LGFilterView.
- Может показывать по умолчанию как таблицу, так и кастомную вьюху
- Есть несколько стилей на выбор
- Довольно широкие возможности по настройке внешнего вида
События отлавливаются с помощью делегирования, блоков и нотификаций:
Настройка внешнего вида и анимаций (по умолчанию анимации для iPhone и iPad различается):
Чтобы показывать или скрывать фильтр предусмотрены следующие методы:
LGRefreshView
«Потяни, чтобы обновить» — очень модная фича, которая есть практически в каждом приложении. Даже Apple не удержалась и в iOS 6 добавила данный функционал, но почему-то только для UITableView, а UICollectionView и UIScrollView остались за бортом. Хотя при помощи некоторых костылей стандартный «pull to refresh» можно прикрутить и для UICollectionView, но костыли нам не нужны. По правде сказать различных «рефрешей» полно на гитхабе, сам долго искал подходящий, но в основном там либо заброшенные популярные старые версии, у которых накопился ворох различных проблем, или очень крутые библиотеки, которые делают просто невообразимые вещи, но слишком изощрены в дизайне, чтобы была возможность использовать их в любом проекте. Поэтому решил постараться сделать универсальный, кастомизируемый и нейтральный «pull to refresh».
При инициализации нужно указать родительскую вьюху, которая должна быть UIScrollView или наследуемым классом (UITableView или UICollectionView. По идее должно работать и с UIWebView, но во время тестов были проблемы, поэтому не советую).
Событие рефреша отлавливается с помощью делегирования, блоков и нотификаций:
Для завершения обновления предусмотрен метод:
Также рефреш можно вызвать программно:
LGPlaceholderView
Если у вас клиент-серверное приложение, то при переходе на новый контроллер часто приходится загружать данные. Чтобы не фризить UI, делать это нужно в дополнительном потоке. Но что показывать пользователю, пока происходит загрузка? А показывать можно разное, для этого и сделан LGPlaceholderView.
- Текст
- UIActivityIndicatorView
- Текст + UIActivityIndicatorView
- UIProgressView
- Текст + UIProgressView
- Кастомную вьюху
При инициализации нужно указать вьюху, которую вы будете скрывать:
События можно отлавливать с помощью нотификаций:
Для показа предусмотрены различные методы, в зависимости от того, какой стиль вы хотите задать:
Чтобы скрыть placeholder, нужно вызвать:
Кроме того, различные стили можно комбинировать, если вы вызовите несколько «show» методов подряд, то LGPlaceholderView сменится на другой.
LGDrawer
Программное рисование изображений давно будоражит мой ум. Растровые картинки понемногу отмирают, даже apple в последних версиях xcode добавила поддержку для векторных изображений. Но что если не отягощать приложение дополнительными ресурсами, а рисовать изображения прямо внутри, благо инструменты позволяют.
- Качество изображений всегда на высоте, так как не требуется масштабирование, каждый девайс рисует именно то что нужно ему;
- Легкое и быстрое изменение содержимого (если, к примеру, необходимо поменять цвет, вместо того чтобы открывать редактор, загружать картинку, изменять цвет и сохранять, достаточно будет всего лишь поменять один параметр в коде);
- Облегчение веса конечного архива с приложением.
- Прямоугольник (квадрат)
- Эллипс (круг)
- Треугольник
- Плюс
- Крест
- Линия
- Галочка
- Стрелочка
- Сердце
- Звезда
- Меню (3 параллельных линии с возможными точками)
- Различные тени
- Возможность накладывать изображения друг на друга, или вырезать одни изображения из других
Принцип рисования следующий. У каждого метода есть параметры, где вы можете задавать размер области (холста), в которой будет находиться изображения, её заливку; размер самого изображения, его заливку, обводку, тень, смещение относительно центра внутри холста, угол поворота изображения и, если возможно, толщину линий и закругления углов.
Не все параметры удалось реализовать для каждого метода, но старался по максимуму возможного.
Было бы очень интересно, если сообщество помогло расширить возможности данной библиотеки. Во-первых, добавить недостающие параметры там, где этого не смог я. Во-вторых, увеличить каталог возможных изображений.
LGViews
Часто хочется расширить функционал той или иной вьюхи. Почему для UILabel нельзя задать contentEdgeInsets? Если я хочу расположить UILabel поверх картинки, то для удобства чтения текста, вместо того, чтобы расширить background, приходится создавать дополнительную UIView. Или для UIButton, почему для каждого состояния можно задать текст, цвета текста, картинку, картинку background’a, но банального цвета background’a задать нельзя. А что насчет выбора расположения картинки относительно текста?
- contentEdgeInsets для UILabel
- backgroundColor для разных состояний UIButton
- Возможность задать UIButton не прямоугольную форму за счет масок
- Выбрать расположение картинки относительно текста в UIButton
- Задание максимальной длины текста для UITextField и UITextView
- contentEdgeInsets для текста и боковых изображений в UITextField
- Удаление лишних пробелов и переносов строк из UITextField
- Возможность авторасширения для UITextView с заданием максимальной высоты или количества строк
- placeholder для UITextView
LGViewControllers
Так же обстоят дела и с UIViewController’ами. Но тут расширять возможности было сложнее и не так очевидно, поэтому не считаю, что смог в полной мере добиться желаемого результата.
- Добавил UIScrollViewController и UIWebViewController
- Для UITableViewController, UICollectionViewController и UIScrollViewController добавил LGRefreshView и LGPlaceholderView; для UIWebViewController только LGPlaceholderView
- Для UITableViewControlle добавил новый метод делегата «heightForRowAtIndexPathAsync», который позволяет асинхронно рассчитывать высоту ячеек. То есть, если у вас динамическая высота ячеек и вы часто подгружаете список, данный метод поможет избежать задержек в интерфейсе
- Для UICollectionViewController попытался упростить инициализацию layout’а, чтобы можно было настроить сетку без лишних рассчетов
- UIWebViewController можно использовать без наследования, а сразу передавать в тело ссылку на нужный ресурс при инициализации
- Добавил методы для автоматического слежения за клавиатурой, то есть contentInsets будут меняться при появлении и исчезновении клавиатуры
LGHelper, LGHelper+NS, LGHelper+UI
Каждый день мы решаем огромное количество повторяющихся задач. Большинство из них мы помним, но часто мелкие детали реализации ускользают и приходится периодически освежать их в памяти. Данные хелперы — это библиотеки, содержащие в себе всевозможные макроссы и методы, помогающие в повседневной жизни. Я собрал здесь довольно много полезной информации, не обязательно даже использовать их в своих проектах, иногда полезно бывает просто заглянуть, чтобы вспомнить ту или иную фичу.
Обработка изображений, конвертация цветов, использование масок, отправка электронных писем, вызов звонка с подтверждением и без, показ местоположения на карте, узнать состояние подключения к интернету, добавить человека в адресную книгу, закодировать данные, получить MD5 и SHA1 хэши, добавить событие в календарь, получить изображение с камеры… и многое многое другое, что я не буду здесь перечислять. Думаю названия всех методов и переменных должны быть более-менее интуитивно понятны, поэтому, чтобы ознакомиться с полным списком возможностей, предлагаю просмотреть header файлы исходников.
LGSharing, LGAudioStreamHelper, LGConnection
Эти 3 библиотеки, на мой взгляд, не так интересны как остальные. LGSharing ясное дело помогает постить в социальные сети (ВКонтакте, Facebook и Twitter) + отправлять сообщения на email и sms. LGConnection является оберткой вокруг AFNetworking, из коробки может парсить ответ от сервера включая XML формат + имеет логику для обработки прерывания интернет соединения. LGAudioStreamHelper помогает работать с аудио стримами, определять формат, получать метаданные и записывать поток. Более подробно рассказывать не буду, если кому интересно, заходите на гитхаб и пробуйте.
Всем спасибо за внимание. Буду очень рад если мои труды кому-то принесут пользу. Открыт для объективной критики, предложениям по улучшению или расширению функционала библиотек. Если есть какие вопросы — задавайте, постараюсь ответить.