Снимок экрана 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
#ios #xcode
Приятная новость в
Xcode получил новую функцию кеширования компиляции, которую можно включить вручную и которая ускоряет циклы сборки и тестирования для Swift и C‑подобных языков.
Эта фича сохраняет результаты компиляции для набора исходных файлов и при повторной компиляции тех же файлов использует их из кеша, сокращая время сборки.
Наибольшую выгоду это дает при переключении между ветками или выполнении чистых сборок.
На мой взгляд это здорово, скоро проверим на практике 👍
Приятная новость в
Xcode 26 RC (ссылка), краткий перевод ниже.Xcode получил новую функцию кеширования компиляции, которую можно включить вручную и которая ускоряет циклы сборки и тестирования для Swift и C‑подобных языков.
Эта фича сохраняет результаты компиляции для набора исходных файлов и при повторной компиляции тех же файлов использует их из кеша, сокращая время сборки.
Наибольшую выгоду это дает при переключении между ветками или выполнении чистых сборок.
На мой взгляд это здорово, скоро проверим на практике 👍
Apple Developer Documentation
Xcode 26 Release Notes | Apple Developer Documentation
Update your apps to use new features, and test your apps against API changes.
❤10
#ios #xcode #appstore #appstoreconnect
Недавно узнал, что версия приложения в поле
Нет строгой проверки на соответствие
А вы знали об этом?)
Недавно узнал, что версия приложения в поле
Version в Xcode на вкладке General не обязана совпадать с версией в App Store Connect.Нет строгой проверки на соответствие
Version между Xcode и App Store Connect — можно прикрепить сборку с версией 999 к версии релиза 1.2, при желании 😱А вы знали об этом?)
👨💻4🔥2
#xcode #bug
В
Почистить кэш, пересоздать файл со строками не помогает.
На скриншоте причина, почему мне завернули очередной релиз приложения с площадками.
Исправляется эта фигня откатом с
В
Xcode 26 у меня внезапно сломалась локализация для Info.plist-файла - просто перестали работать строки на русском языке, а на английском все ок.Почистить кэш, пересоздать файл со строками не помогает.
На скриншоте причина, почему мне завернули очередной релиз приложения с площадками.
Исправляется эта фигня откатом с
xcstrings на старый формат strings для локализации Info.plist🙈😨4❤🔥1