#ios #swiftui #xcode #navigation #deeplink #url
https://telegra.ph/Otkryvaem-diplinki-v-drugie-prilozheniya-10-14
https://telegra.ph/Otkryvaem-diplinki-v-drugie-prilozheniya-10-14
Telegraph
36. Открываем диплинки в другие приложения
Иногда нужно открыть диплинк (ссылку), ведущий в другое приложение, которое принадлежит другой компании. В этой статье покажу как просто это реализовать. Возьмем две ссылки: https://t.me/easy_dev991 (стандартная ссылка) otherApp://linkToSupport (диплинк для…
👍2
Снимок экрана 2024-04-04 в 10.35.54.png
110.3 KB
#ios #xcode #fix #log
Чиним Logging Error в Xcode 15+
Иногда Xcode может выводить в консоли ошибку с таким текстом:
Logging Error: Failed to initialize logging system. Log messages may be missing. If this issue persists, try setting IDEPreferLogStreaming=YES in the active scheme actions environment variables.
Для исправления ситуации делаем то, что написано в тексте ошибки, т.е. настраиваем IDEPreferLogStreaming=YES для активной схемы в Environment Variables
Чиним Logging Error в Xcode 15+
Иногда Xcode может выводить в консоли ошибку с таким текстом:
Logging Error: Failed to initialize logging system. Log messages may be missing. If this issue persists, try setting IDEPreferLogStreaming=YES in the active scheme actions environment variables.
Для исправления ситуации делаем то, что написано в тексте ошибки, т.е. настраиваем IDEPreferLogStreaming=YES для активной схемы в Environment Variables
👍4🔥2🤩1
#terminal #xcode #fix #simulator #hint
Запускаю симулятор в Xcode и вижу такую ошибку, хотя вчера все отлично работало 🤦♂️
Мне помогла команда в терминале:
Запускаю симулятор в Xcode и вижу такую ошибку, хотя вчера все отлично работало 🤦♂️
Мне помогла команда в терминале:
sudo killall -9 com.apple.CoreSimulator.CoreSimulatorServicesudo killall -9 com.apple.CoreSimulator.CoreSimulatorService
❤5🔥2🤣2
#xcode #fix
В Xcode 15.4 поправили баг с лишним ворнингом у сгенерированных экстеншенов для ассетов (цвета, картинки) - это успех 👍
Ссылка на описание релиза и цитата:
Можно будет убирать лишний код из проекта:
В Xcode 15.4 поправили баг с лишним ворнингом у сгенерированных экстеншенов для ассетов (цвета, картинки) - это успех 👍
Ссылка на описание релиза и цитата:
Fixed an issue where generated asset symbols emitted warnings with Swift strict concurrency checking enabled.
Можно будет убирать лишний код из проекта:
import DeveloperToolsSupport
// https://forums.swift.org/t/xcode-15-3-rc-issues-warnings-for-generated-code/70353/10
extension DeveloperToolsSupport.ColorResource: @unchecked Sendable {}
Apple Developer Documentation
Xcode 15.4 Release Notes | Apple Developer Documentation
Update your apps to use new features, and test your apps against API changes.
🤣3🔥2
#ios #xcode #test #testing
Нашел интересный кейс, когда Xcode выдает предупреждение, которого быть не должно:
Нашел интересный кейс, когда Xcode выдает предупреждение, которого быть не должно:
let optionalInt: Int? = 5
let optionalString: String? = "asdf"
let optionalBool: Bool? = false
let requiredInt = try #require(optionalInt) // <- все ок
let requiredString = try #require(optionalString) // <- все ок
let requiredBool = try #require(optionalBool) // <- выдает ворнинг и предлагает безопасно развернуть опционал
👍2
❤4
#hint #xcode
Очищаем память на маке от мусора Xcode и не только
Эта статья может пригодиться, если после удаления
Я за полчаса удалил почти 200 гб 🤯
Почитать можно в платном канале:
- базовая подписка
- продвинутая подписка
- сеньорская подписка
Очищаем память на маке от мусора Xcode и не только
Эта статья может пригодиться, если после удаления
DerivedData
на маке все еще мало свободного места. И даже после удаления Xcode
/AndroidStudio
могут сохраниться старые данные - будем их удалять.Я за полчаса удалил почти 200 гб 🤯
Почитать можно в платном канале:
- базовая подписка
- продвинутая подписка
- сеньорская подписка
Telegram
Tribute
This bot helps content creators receive financial support from their followers directly in the app.
🔥3❤1
#ios #automation #fastlane
Я уже рассказывал как мне нравится Xcode Cloud для публикации сборок - минимум настроек, все работает хорошо.
Вчера настроил публикацию скриншотов в пет-проекте с использованием
⚠️ Он работает медленно - сборка на ноуте (с
⚠️ Для публикации скриншотов в любом случае нужно или делать ручную работу, или запустить
Теперь про публикацию скриншотов через fastlane
Для наглядности вот логи:
Итого: с момента запуска команды до окончания публикации и сортировки скриншотов прошло 26 секунд - это намного быстрее, чем вручную публиковать скриншоты для двух локализаций на iPad/iPhone, еще и в правильном порядке.
В
Теперь важные нюансы.
1️⃣ Несмотря на возможность вручную загрузить скриншоты для нужных диагоналей с самых новых девайсов (iPhone 16 Pro Max, iPad M4),
Если попытаться загрузить скриншоты для 16 Pro Max и iPad M4, будут ошибки типа таких:
Да, я прочитал документ по ссылке из логов с ошибкой, и я нашел там iPhone 16 Pro Max + iPad Pro (M4), но
2️⃣ Если ваш аккаунт связан с несколькими командами разработки, то при настройке
3️⃣ По умолчанию
4️⃣ Лучше сразу настроить
Готовый fastfile можно посмотреть в гитхабе.
Я уже рассказывал как мне нравится Xcode Cloud для публикации сборок - минимум настроек, все работает хорошо.
Вчера настроил публикацию скриншотов в пет-проекте с использованием
fastlane
, и выключил воркфлоу в Xcode Cloud
, потому что:⚠️ Он работает медленно - сборка на ноуте (с
fastlane
) занимает меньше минуты, а в облаке это растягивается на 5 минут⚠️ Для публикации скриншотов в любом случае нужно или делать ручную работу, или запустить
fastlane
Теперь про публикацию скриншотов через fastlane
Для наглядности вот логи:
[18:40:04]: Driving the lane 'ios upload_screenshots' 🚀
...
[18:40:09]: Starting with the upload of screenshots...
[18:40:11]: Deleted 'ru APP_IPAD_PRO_3GEN_129' - (0.814763 secs)
[18:40:11]: Deleted 'en-US APP_IPHONE_67' - (0.814563 secs)
[18:40:11]: Deleted 'ru APP_IPHONE_67' - (0.837923 secs)
[18:40:11]: Deleted 'en-US APP_IPAD_PRO_3GEN_129' - (0.915516 secs)
[18:40:12]: Number of screenshots not deleted: 0
[18:40:12]: Successfully deleted all screenshots
...
[18:40:17]: Uploaded './fastlane/screenshots/ru/iPhone 15 Pro Max-1-[18:40:21]: Uploaded './fastlane/screenshots/ru/iPhone 15 Pro Max-3-sortByDate.png'... (3.672329 secs)
[✔] Waiting for all the screenshots to finish being processed...
[18:40:28]: Successfully uploaded all screenshots
[✔] Sorting screenshots uploaded...
[18:40:29]: Successfully uploaded screenshots to App Store Connect
Итого: с момента запуска команды до окончания публикации и сортировки скриншотов прошло 26 секунд - это намного быстрее, чем вручную публиковать скриншоты для двух локализаций на iPad/iPhone, еще и в правильном порядке.
В
appstoreconnect
для сохранения нужного порядка отображения скриншотов приходится загружать картинки по одной в желаемом порядке🙈Теперь важные нюансы.
1️⃣ Несмотря на возможность вручную загрузить скриншоты для нужных диагоналей с самых новых девайсов (iPhone 16 Pro Max, iPad M4),
fastlane
так не может - нужно делать скриншоты на других девайсах, подробнее написал в ридми.Если попытаться загрузить скриншоты для 16 Pro Max и iPad M4, будут ошибки типа таких:
[16:44:44]: 🚫 Invalid screenshots were detected! Here are the reasons:
[16:44:44]: 🚫 Error: ./fastlane/screenshots/en-US/iPad Pro 13-inch (M4)-1-demoList.png - Invalid screen size (Actual size is 2064x2752. See the specifications to fix https://help.apple.com/app-store-connect/#/devd274dd925)
...
[16:44:44]: 🚫 Error: ./fastlane/screenshots/ru/iPhone 16 Pro Max-3-sortByDate.png - Invalid screen size (Actual size is 1320x2868. See the specifications to fix https://help.apple.com/app-store-connect/#/devd274dd925)
Да, я прочитал документ по ссылке из логов с ошибкой, и я нашел там iPhone 16 Pro Max + iPad Pro (M4), но
fastlane
не может их опубликовать 🤔2️⃣ Если ваш аккаунт связан с несколькими командами разработки, то при настройке
fastlane
нужно явно указать идентификатор команды в поле itc_team_id
, пример есть в Appfile - даже если вы не знаете идентификатор, то при первом запуске команды для публикации скриншотов fastlane
сам предложит выбрать команду, там и можно скопировать идентификатор и поставить в Appfile
.3️⃣ По умолчанию
fastlane
делает много всего в команде upload_to_app_store
, и лучше сразу выключить лишнее, например, публикацию бинарного файла приложения, запуск precheck перед отправкой и т.д., более подробно про все эти настройки можно почитать в официальной документации к fastlane.4️⃣ Лучше сразу настроить
overwrite_screenshots
на true
, чтобы после загрузки новых скриншотов не приходилось вручную удалять старые.Готовый fastfile можно посмотреть в гитхабе.
Telegram
easy_dev991
#ios #xcode #xcodecloud #appledeveloper
Обзор на Xcode Cloud
Обзор на Xcode Cloud
🔥3