easy_dev991
627 subscribers
33 photos
21 videos
3 files
173 links
Делюсь интересными находками/лайфхаками в процессе разработки под iOS, и возможно ты найдешь что-то полезное для себя!

GitHub: https://github.com/easydev991
Download Telegram
Платная подписка Apple Developer
Anonymous Poll
38%
Не оформлена
43%
Оформлена
19%
Планирую оформить
👍2
easy_dev991
Платная подписка Apple Developer
Тот самый пет-проект, идею которого я пытался реализовать в 2019 году, когда только начинал изучать Swift 🎉
🎉14❤‍🔥5😁1
#appledeveloper #ios

Как я оплатил подписку Apple Developer

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

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

Выяснил, что есть 2 рабочих способа оплатить подписку в РФ: с номеров билайн/мтс. Но есть нюансы, о которых рассказал в платном канале в полной версии истории:
- базовая подписка
- продвинутая подписка
- сеньорская подписка
👍3
#ios #swift #concurrency #preconcurrency

Вот этот код из документации приводит к предупреждению и ошибке:

import NotificationCenter

Task {
let center = UNUserNotificationCenter.current()
let settings = await center.notificationSettings()
}


Для исправления достаточно добавить @preconcurrency перед импортом:

@preconcurrency import NotificationCenter
// ...


Вот так одним действием можно избавиться сразу и от предупреждения, и от ошибки 😎
🔥51
#interview #hr
Рекрутеры придумали новый способ перехитрить удаленщиков: приглашают на мягкий гибрид, где можно 4 дня работать из дома, а 1 день - в офисе вместе с командой.
Называют это привлекательным вариантом 😂
😁13
#git #terminal #hint #gitignore

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

Чтобы файл корректно удалился из гита с учетом новых правил игнора, достаточно выполнить эти две команды в терминале в папке с проектом:


git rm -rf --cached .
git add .


Пояснение:
- первая команда говорит гиту перестать отслеживать все файлы в проекте, но не удалять их с диска
- вторая команда снова добавляет все файлы и изменения в список для включения в следующий коммит, но теперь уже с учётом .gitignore (то есть файлы, которые вы исключили, не попадут в список)
- остается только сделать коммит/пуш с изменениями 👌

Для экспертов по гиту:
Знаю, что можно проделать операции только с нужным файлом, а не со всеми сразу, но мне удобнее так, и вдруг кому-то тоже 😉
5🔥2
#ios #appstoreconnect

Интересное наблюдение про публикацию приложений

1. Вчера отправил на проверку два пет-проекта с разных аккаунтов разработчика с разницей в 3 часа
2. Сегодня оба приложения одновременно приложения перешли в статус "Проверка"
3. Проверка завершилась в том же порядке, в котором я отправлял приложения, но с разницей не в 3 часа, а в 14 минут
👍4
This media is not supported in your browser
VIEW IN TELEGRAM
#terminal #simulator #hint

По умолчанию нажатия на экране iOS-симулятора не отображаются, но это легко поправить командой в терминале:

defaults write com.apple.iphonesimulator ShowSingleTouches 1

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

Важный нюанс: если включить запись экрана симулятора через кнопку Record Screen в самом симуляторе, то в получившейся записи не будут видны эти нажатия.

Нажатия будет видно только при записи экрана самого мака (видео можно обрезать, чтобы было похоже на запись через Record Screen)
🔥72🤔1
#ios #appstoreconnect

Самая быстрая проверка перед публикацией в AppStore за более чем 30 релизов - меньше часа с момента отправки на проверку до аппрува 🚀

И это в выходной день 😯
🔥5
#ios #appstoreconnect

Обычно после статуса "Одобрено" идет "Готово к распространению".

Ошибка аппстора или им так понравилась сборка, что одобрили дважды? 😅
😁2👍1
#terminal #git #hint

Бывает, что после выполнения задачи ветку удаляют в репозитории, а локально она все еще висит. И когда таких веток набирается много, можно в них запутаться 😅

Чтобы удалить разом все такие ветки, нужно перейти в терминале в папку с проектом и выполнить команду:

git branch | grep -v "^\*" | while read branch; do
if ! git show-ref --verify --quiet refs/remotes/origin/$branch; then
git branch -D $branch
fi
done


Объяснение:
git branch выводит список всех локальных веток.
grep -v "^\*" исключает текущую активную ветку (чтобы не удалять её).
• Для каждой ветки проверяется, существует ли она на сервере (refs/remotes/origin/branch).
• Если ветка отсутствует на сервере, она удаляется принудительно (git branch -D), что удалит ветку даже если в ней есть несмерженные изменения.

Перед выполнением команды нужно убедиться, что вы переключились на ветку, которую не хотите удалять (например, main или master).
👌51