iOS Deviant
53 subscribers
1 photo
1 file
33 links
Привет! Меня зовут Никита Филонов @nifilonov.
Я iOS-разработчик и препод GeekBrains.
В этом канале:
- регулярные туториалы
- советы по разработке
- стримы с кодингом
- мои мысли и истории
И много всего полезного и интересного 🙃
Download Telegram
Вообще, это можно объяснить тем, что Apple находится не лучшем положении, чтоб сопротивляться.

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

Есть ли в этом взаимосвязь, додумайте сами. Но факт на лицо, взять новые гнущиеся телефоны от Samsung’a.

Да и добавим сюда резкий спад продаж iPhone и уход некоторых людей из верхушки яблочной организации, получим, что уже не люди борятся за айфоны, а айфоны борется за людей.
UI-тесты за 2 минуты 😱

Рассказываю как быстро и понятно сделать UI-тесты для вашего приложения.

Спойлер: это проще, чем кажется 😉
Прошёл слух, что с выходом iOS 15, Apple перестанет поддерживать:

🔹iPhone SE (1 поколения)
🔹iPhone 6s
🔹iPhone 6s Plus

Ничем не подтверждено, но об этом рассказали The Verifier (а они, на минуточку, заранее сообщили о том, что iOS 12 не будет поддерживаться некоторыми устройствами и что 14 будет поддерживать все те же айфоны, что и 13)
Ребят, мутите себе гитхаб и постигайте дзен

Недавно (увы, только недавно) дошла до меня одна мысль. Вообщем, сейчас в IT все чаще стали появляться три буквы - NDA.
По-простому это договор о неразглашении, который включает в себя что угодно и с вероятностью 180% - неразглашение кода, написанного твоими платиновыми руками.

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

Как быть? 👨‍🏫
Смотри, у любого прогера есть синдром стартапера (это когда рождается идея на миллион баксов и ты ночами пишешь революционное приложение). Думаю, у тебя тоже были и есть несколько крутых идей.

1. Вот этот код и используй.
Это будет побуждать тебя делать домашний проект более качественно, иначе из-за отсутствия код-ревью и жестких рамок корпорации ты можешь дать себе слабину и написать
let isTrue = true
if isTrue == true { ... }

2. Пиши библиотеки.
Не надо делать второй Alamofire, нет, просто вспомни одну из проблем, которую ты не смог решить полностью, с помощью каких-то фреймворков и используй это,
Можно расширить функционал имеющейся библиотеки, можно написать свою узкоспециализированную или перевести какой-то код (напр. Objective-C либу на Swift).

Открытые исходники - простой путь к личному развитию, чистой карме и маленький вклад в развитие индустрии.
Жаль, только что так поздно это осознал💁‍♂️
😂 жиза жизненная
Прошёл свой первый вебинар, ощущения странные, но было круто🥳

Всем спасибо кто участвовал, спасибо geekbrains, всем респект!

Даже мама позвонила, говорит смотрела до конца, ничего не понимала, но все классно😁 круто же
Если что, ссылка на запись скоро появится тут:
Безопасность в iOS-приложениях

В комментариях ссылка на презентацию
И спойлер🧑‍💻

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

Так шо ждите, дамы и господа
И, конечно, маскируйте пароль при вводе🕵️‍♂️, заменяя его на кружки или звездочки
В UITextField эта функция доступна «из коробки» 📦
Не про iOS, но про безопасность🤦

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

Ещё года полтора назад читал в xakep’е как создали чуть ли не самый большой ботнет и все из-за того, что в IoT была нулевая защита.

Ну, кажется, тот самый случай, когда жизнь ничему не учит (а на секунду, такие постоматы могут содержать что-то ценное и конфиденциальное - это я о безопасности)
Описал как быстро создать навигацию через UITableView

Будет полезно тем, кто хочет в короткие сроки накидать навигацию для приложения, составить макет или если это надо сделать, например по учебе, но по каким-то причинам эта тема не включена в учебный материал

Читайте, изучаете
Вряд ли вам пригодится эта инфа, но если пригодится, она сэкономить вам или вашей компании кучу времени и денег.

Не всегда мы можем скачать приложение из AppStore, есть еще один способ - по прямой ссылке, он требует много заморочек, но это возможно (лично работал над таким проектом).
В больших масштабах это используется для внутренних продуктов компании. Например, супер-секьюрный чат или приложение для каких-то узконаправленнных вычислений.
Такое не закинешь в AppStore (хацкер скачает и разберет, а потом нальет кофе и прочитает всю вашу рабочую переписку). Поэтому такие приложения выдаются по специальной ссылке.🙈

Разве грязный хакер не может найти эту ссылку и проделать все тоже самое? Неа!
Такие приложения выдаются под определенные устройства - в developer program добавляются UDID (уникальный идентификатор устройства) и кто попало не сможет поставить себе это приложение.

И вроде звучит круто... Вы можете выдавать приложение только под определенные устройства, пик секьюрности и надежности! Но долго ли вы сможете это делать?

Если вы работаете через аккаунт разработчика, то, увы, нет 😔 Для разработчика есть ограничение в 100 устройств.
А решить эту проблему и упростить процесс добавления новых пользователей вы можете через Enterprise-аккаунт.

И если бы это было всё, то я бы не писал это сочинение)
Перейти на enterprise - означает подождать чуть дольше чем вечность.🗿

А потому - если у вас есть задача сделать приложение, которое будет работать только внутри компании, то первым делом подключайте Enterprise-аккаунт, а уже потом думайте что это будет за приложение и из чего его готовить🙌
Частая проблема - клавиатура перекрывает часть контента.🤦‍♂️

Одно из решений - UIScrollView. На мой взгляд это не самое красивое решение (с точки зрения UI/UX).

В статье рассмотрен ещё один вариант работы с клавиатурой и контентом.

Мне, как разработчику и пользователю, больше нравится такой подход
Так, ребята, очень важная и крутая тема - читайте и вникайте, расписал все подробно, потом на собесе будете шагать по столу как медведь балу😈

Статья о том как создать виджет для приложения, подключить его к базе данных Realm и настроить синхронизацию данных с приложением, не обожгитесь!
Ну вот прям искренне не понимаю как так можно то?🤬

Сидел я значит работал на новеньком iMac Catalina, со своим прелестным XCode 12.1.

Вроде и солнышко светит в мой утренний взор и все дела переделаны. В фильмах это момент для чего-то нового. А моя жизнь - лучший фильм. Ну и решил обновлю-ка я все что есть на этом свете, а конкретно macOS и XCode.

Поставил обновляться, увидел примерное время, понял что ещё пару часиков могу полежать под одеялом. 😴

Встал радостный и полный сил, хрустнул пальцами и приступил к работе.

Клонирую репозиторий с гитхаба. Хм, странно загрузка заморозилась почти на самом завершении. Думаю, ну ладно, всякое бывает. Пробую ещё раз и ещё раза 4, потом понимаю, что репозиторий все эти разы успешно клонировался, но XCode просто застывает на моменте загрузки.🤔

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

Наивный глупец, подумал я, когда проект периодически открывался лишь с 3 раза (первые 2 открытия - закрывался через 2 секунды и именно с 3-его раза открывался). Чуть позже началось мое любое в этой истории.

Repeat, please. Новый iMac, последняя ось, а я сижу с дергающимся правым глазом и смотрю как на 3 минуты подвис браузер, после того как я закинул картинку в чатик телеграма. В остальном такая же el problema.

☝️Вывод: отдаёшь большие деньги за бренд, за доверие, за надёжность хоть какую-то, а в итоге сидишь и глаз дергается, чаще чем обновляется монитор.

❗️Никогда не обновляйтесь сразу на последний update. Подождите немного, когда первые баги будут исправлены. Честно, всегда сам так поступал, но это божественное утро запудрило мои эмоциональные мозги.🙃
Составляю некий road-map для тех, кто хочет стать iOS-разработчиком.🛹

Вот возник вопрос для каких целей вы хотите изучить эту сферу?🧐
Новогоднее чудеса!😂

Я думал это бывает только в сказках и мультиках, но нет, товарищи! Ещё и в российских банках😁

Недавно делал перевод с Тинькофф на Сбербанк 20.000 - выдало ошибку. Попробовал ещё 2 раза - опять ошибки. Через 5 минут гляжу на счёт в Сбере - деньги пришли, открываю Тинькофф - деньги не списались💵

«Делать деньги б**ть вот так!»😂

и ещё скрин с одного тг канала)
Проясним важный момент - для разработки под iOS нужно знать Swift, если знаете и Objective-C, то вообще шикарно!

Но это не все!
Язык это лишь инструмент и для разных задач подходят разные инструменты.
Этим я говорю, что знание лишь Swift’a и/или Objective-C это просто основа, но на практике чем больше, тем лучше.

Из своей практики:
1. Был проект на 70% написанный на C++.
2. Был проект в основном на Swift + Objective-C 10%, JavaScript 10%, Lua 5%.
3. Был проект Swift + 70% на Kotlin

Это не значит, что надо было изучать все эти языки. Но иметь в арсенале парочку языков всегда приятная фича.

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

А сколько ты знаешь языков программирования?
С Новым годом, ребята!

Желаю вам просто радоваться каждой секунде, любите то что делаете и делайте то что умеете, всем счастья, любви и учите Swift!