Если вы распространяете ваш sdk как бинарный файл, нет ли варианта закрыть импорты заголовков в umbrella header константой компиляции, включенной только в проекте самого SDK? Я сталкивался с похожей задачей при интеграции OpenMeasurementSDK (который у вас наверняка тоже внедрен). При таком решении, из host приложения на swift приватные объекты objc не будут доступны.
Согласен, проблемы начинаются, когда появляются тесты. Я делал простые эксперименты без тестов: создавал проект с несколькими фреймворками, подключал SPM библиотеку в одному фреймворку, затем к нескольким. Поведение было корректное, как описано в документации, на любом Xcode начиная с 12.5.
Я как пользователь iOS доволен тем, насколько прозрачно система сообщает мне об использовании геолокации в приложениях. Даже если я когда-то случайно разрешу Always, система напомнит мне об этом. Приложение Додо Пиццы сейчас использует гео только для определения ближайшей пиццерии, When In Use для этого достаточно.
Отличная статья! Подскажите, в рамках одного модульного теста всегда тестируется набор классов, обслуживающий одну view? Или также пишете модульные тесты, покрывающие несколько экранов?
Если вы распространяете ваш sdk как бинарный файл, нет ли варианта закрыть импорты заголовков в umbrella header константой компиляции, включенной только в проекте самого SDK? Я сталкивался с похожей задачей при интеграции OpenMeasurementSDK (который у вас наверняка тоже внедрен). При таком решении, из host приложения на swift приватные объекты objc не будут доступны.
Спасибо за статью!
Подскажите, как WeakReference узнает что происходит с объектом, если память освобождена и может быть перезаписана?
Согласен, проблемы начинаются, когда появляются тесты.
Я делал простые эксперименты без тестов: создавал проект с несколькими фреймворками, подключал SPM библиотеку в одному фреймворку, затем к нескольким. Поведение было корректное, как описано в документации, на любом Xcode начиная с 12.5.
Документация:
Leave this parameter unspecified to let the Swift Package Manager choose between static or dynamic linking (recommended).
На практике SPM выберет динамику, если библиотека слинкована с несколькими таргетамиВ статье как раз про то, что дичь с гео творить сложно :)
Я как пользователь iOS доволен тем, насколько прозрачно система сообщает мне об использовании геолокации в приложениях. Даже если я когда-то случайно разрешу Always, система напомнит мне об этом.
Приложение Додо Пиццы сейчас использует гео только для определения ближайшей пиццерии, When In Use для этого достаточно.
Отличная статья!
Подскажите, в рамках одного модульного теста всегда тестируется набор классов, обслуживающий одну view? Или также пишете модульные тесты, покрывающие несколько экранов?