Управляет ли Swift ARC всеми объектами Kotlin/Native?Нет. Kotlin-объектами управляет Native GC; на границе действуют правила interop. Время освобождения не обязано совпадать с исчезновением последней Swift-ссылки. Особенно опасны смешанные циклы сильных ссылок Kotlin/Swift, которые две модели памяти не могут собрать вместе. Память Kotlin/Native, интеграция с ARC.
Нужно ли freeze каждого разделяемого объекта в Kotlin 1.9.20+?Нет. Legacy memory manager удалён; при этом синхронизация изменяемых данных всё ещё нужна. Новая модель памяти.
Что даёт @Throws для обычной экспортируемой функции?Через Objective-C interop перечисленные исключения становятся NSError/Swift throws. Неперечисленное исключение может завершить процесс. Kotlin: Swift/Objective-C interop.
Какая ошибка suspend без @Throws передаётся в NSError?CancellationException. Это не означает безопасную передачу всех бизнес-ошибок. Явно задайте контракт ошибок для экспортируемого API. Kotlin: Swift/Objective-C interop.
Почему закрытый SwiftUI экран может оставить Kotlin-подписку?Если интеграция не связала срок жизни экрана с Job. Возвращайте контролируемый handle подписки, задайте stop и вызывайте его в соответствующем lifecycle приложения; поведение bridge проверяйте отдельно.
Можно ли переносить правила Objective-C interop на любой Swift export?Нет. У разных механизмов и обёрток разные ограничения. Проверяйте документацию именно выбранного экспорта и версию Kotlin. Kotlin: Swift/Objective-C interop.