Прежде всего, я был Objective C
разработчиком в течение многих лет, и примерно в то время, когда было объявлено о Swift, я в основном поддерживал существующие Obj C
проекты. Никогда не было возможности полностью инвестировать в приложение Swift
, с нуля или в обслуживании. Мои усилия были направлены в основном на .Net и React Native в то время.
Я провел исследование , что такое ABI . Все хорошо и модно. Исходя из этого ответа, я могу только предположить, как это вступает в игру для Swift
, поскольку я не очень сильно вовлечен в Swift
.
Так что, просто догадываясь, все это шум, рэкет,и fracas в Swift ABI
говорят о «предполагаемом» факте, что когда библиотека написана / скомпилирована с версией 1.0
из Swift
(до Swift 5), она будет нормально работать с приложением, написанным в 1.0
,Когда следующая версия этой библиотеки будет написана в Swift 2.0
, то вышеупомянутое приложение, написанное в Swift 1.0
, не сможет ее использовать, если не скомпилировано для Swift 2.0
? Если предположить, что я прав в этом вопросе, что если у меня есть приложение, написанное на Swift 4
, а библиотека, которую я хочу использовать, была написана на Swift 1.0
Могу ли я использовать это? После выпуска Swift 5
решены ли ABI
проблемы для Swift
библиотек и приложений 5+
, а не 5+
, взаимодействующих с 5-
?
Если бы я столкнулся с этими проблемами из первых рук, я мог бы лучше понять проблемы Swift ABI.
Пожалуйста, объясните с фактическими примерами, которые охватывают весь диапазон случаев (если это возможно).
Обновление : пожалуйста, укажите, есть ли какие-либо проблемы с ABI для небольших версий увеличениянапример от swift 4.0 до 4.1