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

GitHub: https://github.com/easydev991
Download Telegram
#ios #swift #swiftui #bug #binding

Кажется, что разница такая небольшая, но в первом случае сборка успешная, а во втором - сборка падает, и в логах Xcode ничего не показывает, а ведь можно долго и упорно дебажить, вот незадача 🤯
🤯4👍1
#ios #appstore #appstoreconnect

Сегодня модераторы одобрили релиз моего нового приложения с тренировками (с четвертого раза), и я узнал на личном опыте, почему же в аппстор пропускают клонов телеграм 🙈

Если интересно узнать, ставьте 👍

Ссылка на гитхаб с новым приложением тут.
👍14
🔥2
#ios #cursor

Если вдруг cursor стал падать в ошибку CoreSimulator при попытке запуска тестов или сборки через xcodebuild, то нужно сказать ему, чтобы для запуска этих команд использовал required_permissions: ['all'] - это нигде не надо настраивать в проекте, а надо буквально сказать это в запросе.

Если вы не в курсе: с недавнего обновления cursor больше не может работать с симуляторами iOS в режиме sandbox, и вот такая простая команда уже не будет работать:

xcodebuild -project SwiftUI-SotkaApp.xcodeproj -scheme SwiftUI-SotkaApp -sdk iphonesimulator -destination 'platform=iOS Simulator,name=iPhone 13 Pro,OS=18.6' build


Хотя в предыдущих версиях cursor это нормально работало 🤔

Причем эта же самая команда исправно работает в терминале, но курсор вот брыкается, пока не скажешь ему использовать required_permissions: ['all'] 🙄
👍2
#ios #appstoreconnect #fastlane #bug

Битва за скриншоты с appstoreconnect продолжается.

Вот тут официальные требования apple к скриншотам для appstoreconnect.

На скриншоте fastlane выдает ошибку из-за того, что apple не принимают скриншоты размером 422*514 (ultra 3), хотя в их же требованиях эти параметры указаны как корректные.

Похожая проблема была с автоматизацией для скриншотов iphone - там appstoreconnect не принимает скриншоты 16/17 Pro Max, хотя в их же документации они указаны как подходящие.

Баг на баге, что тут еще скажешь.
🤯3👀1
#ios #swift #xcode #bug

Слева - таргет Apple Watch
Справа - таргет основного приложения для iPhone

В обоих таргетах версия Swift 6.0 в Build Settings.

Если для часов закомментировать вариант с String(localized:) и раскомментировать вариант с NSLocalizedString, то ошибка уходит - чудеса 😁

Баг на баге 🙈
🤯3
This media is not supported in your browser
VIEW IN TELEGRAM
#ios #appstoreconnect

Долгожданный релиз обновления «сотки» с приложением для Apple Watch 🎉

В общей сложности делал приложение на часы в течение 23 дней (после работы и по выходным).

И что я вам скажу … удивлен, что часы не умеют в групповой UserDefaults, то есть для синхронизации остается по умолчанию либо WatchConnectivity, либо iCloud 🤯
🔥32
#android #kotlin #test #agent

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

Детали в комментариях, т.к. телега не дает опубликовать такой большой пост 🤡
1😈1😴1
#ios #assets #svg

Пример действия галки Preserve Vector Data в ассетах iOS-приложения по отношению к векторной картинке (в данном случае svg-файлы).

На скриншотах приложение для часов, и выделена одна и та же svg-иконка, на которой видны изменения при увеличении.

Первый скриншот без галки, второй с галкой - на первом скриншоте у иконки местами торчат целые лесенки пикселей, на втором линии более гладкие (хотя пиксели, конечно, тоже видно).
👍21
#ios #xcode #localization

Если вдруг у вас возникнет ситуация, когда в каком-то Swift Package не будет работать локализация с использованием .xcstrings-файла без явного указания bundle: .module, то решается это поднятием минимальной версии iOS в этом пакете до 16.

С минимальной версией iOS 15 в пакете будет неудобно пользоваться String(localized:), а вот с 16 уже самое то.

На скриншоте один и тот же файл локализации, и на iOS 16 он предлагает в пару кликов сгенерировать статичные ссылки для всех ключей локализации, а на iOS 15 нет.

Ну и на iOS 16 при добавлении нового ключа будет автоматически создана статичная ссылка для него - удобно.
3🔥3
#mcp

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

Потестировать можно в моих репозиториях, нажав на бейджик (на скриншоте), а бейджик в ридми для этих трех репозиториев:
1) счётчик дней
2) площадки для тренировок
3) программа тренировок (сотка)

Я уже пару дней использую этот инструмент для пет-проектов, очень удобно, рекомендую 👍

(не реклама, реально сам рекомендую)
2🔥2