Привет, Хабр! Представляю вашему вниманию перевод статьи «Swift 5.0: Как перенести ваш проект и фреймворки» Антуан Ван Дер Ли.
Swift 5.0 был выпущен в марте 2019 года и является первой стабильной версией Swift ABI. Хотя многие ресурсы посвящены новым функциям Swift 5.0, они не часто говорят вам, что вам нужно сделать, чтобы обновить свой проект до Swift 5.0. В этом посте я расскажу, какие шаги можно предпринять для обновления существующего проекта до Swift 5.0. Убедитесь, что ваш проект уже портирован на Swift 4.2.
Я не удивлюсь, если эта статья поможет убедить вашего менеджера по продукту запланировать переход.
Автоматический перевод с помощью помощника мигранта
Xcode предлагает использовать «помощник по миграции» для автоматического обновления вашего кода до текущего синтаксиса Swift. Для этого преобразования будет использоваться последняя версия Swift, доступная с установленной версией Xcode. Xcode 10.2 — первая версия, включающая Swift 5.0, поэтому вам необходимо использовать эту версию программного обеспечения.Часто эта функция делает всю тяжелую работу за вас.
Поэтому я рекомендую начать миграцию вашего кода с Редактировать -> Преобразовать -> В текущий синтаксис Swift. Совет: Убедитесь, что вы делаете это только для своего проекта и платформы.
Вы можете пропустить преобразование для любых внешних зависимостей.
Обновление зависимостей
Скорее всего, у вас есть некоторые зависимости Swift, которые необходимо обновить.Многие крупные проекты с открытым исходным кодом, такие как Alamofire и Moya, уже начали работать со Swift 5.0. Однако вполне вероятно, что не все ваши зависимости уже обновлены.
Хотя я бы посоветовал вам перенести и затем самостоятельно отправить запрос на включение, вам, вероятно, придется немного подождать, пока владельцы проекта не сделают это сами.
Если вы планируете провести полное интенсивное тестирование вашего приложения после этой миграции, возможно, стоит также напрямую обновить ваши зависимости.
Ваш тест будет охватывать непосредственно эти обновления, что может послужить «двойной победой».
Обновление среды CI
Если вы используете Travis, Jenkins или любую другую платформу CI, вам также потребуется обновить Xcode.Использование результата в Swift
Конвертер Xcode выполняет только базовые изменения кода.Он не учитывает новый тип "Результат" , который теперь включен в стандартную библиотеку Swift. Многие платформы включают тип "Результат" в ваш код. Это может означать, что у вас довольно много перечисляемых данных ( перечисление ), которые больше не нужны.
Однако не спешите заменять их данными из ваших зависимостей: вы зависите от изменений кода во внешней структуре.
Общий тип ошибки
Вероятно, ваш текущий тип "Результат" определил только тип для подходящего случая.«Результат» в Swift 5.0 также требует от вас определения ожидаемого типа ошибки.
Как добропорядочный гражданин, вы должны попытаться сделать этот тип ошибки конкретным, исходя из ваших ожиданий.
Однако, если вы хотите ускорить передачу, вы также можете просто установить тип Swift.Error .
Совет: если вы хотите узнать больше о новом типе результата в Swift 5.0, я бы рекомендовал вам прочитать Эта статья .
Принимая во внимание стабильность ABI
На самом деле стабильность ABI — это отдельная тема.Ты можешь подробнее об этом в официальном блоге Swift. Следует принять во внимание, что размер приложение, которое вы загружаете уменьшится , поскольку приложениям больше не нужно встраивать стандартную библиотеку Swift! Это должно убедить ваш продукт потратить время на продвижение.
Если вы хотите больше узнать о Swift 5.0, вы можете перейти на Сообщение в блоге Apple «Миграция на Swift 5.0».Теги: #iOS #разработка iOS #Swift #swift 5
-
Объяснение Хостинга Игрового Сервера
19 Oct, 24 -
90% Людей Не Знают О Ctrl+F
19 Oct, 24 -
Пояснения К «Карма» И «Хабрасила»
19 Oct, 24 -
Открытое Письмо Маслову Пр
19 Oct, 24