Будут ли приложения Swift 5 работать только на определенных версиях iOS?
Недавно я прочитал несколько статей о том, что Swift 5 является ABI Stable (что в основном означает, что вам не нужно упаковывать собственную версию Swift Dynamic Library в комплект приложения), и вот запутанная часть:
потому что Swift будет встроен в операционную систему iOS.
Теперь это звучит так, как будто бы Swift Dynamic Library перешла бы прямо в iOS. Означает ли это, что приложения, скомпилированные swift 5, смогут работать только на определенных версиях iOS?
1 ответ
Вы на правильном пути, но дело в том, что приложение будет работать только на определенной версии iOS или позже. Вся цель стабильности ABI состоит в том, чтобы позволить двоичному файлу Swift (т.е. приложению), скомпилированному с одной версией Swift, иметь возможность взаимодействовать с двоичным файлом (то есть структурой), скомпилированным с другой версией Swift.
Но да, чтобы использовать стабильность ABI, ваше приложение сможет работать только на iOS 13 (или любой другой версии) или более поздней.
Вот как все работает в ObjC (и C и C++, и в большинстве языков). Я могу создать приложение Objective-C на iOS 10 и ожидать, что оно без проблем будет связано с Foundation и UIKit на iOS 11. Вы не можете сделать это с библиотекой Swift сегодня.