2020년에 Swift 2에서 5로 마이그레이션
지금은 2020년입니다. 2016년부터 Apple은 많은 새로운 요구 사항을 도입했습니다. 최신 Xcode로 응용 프로그램을 빌드해야 하지만 마지막 Xcode는 Swift 버전 4 미만에서는 작동하지 않습니다. 그러나 Swift 코드를 최신 버전으로 자동 변환하는 기능이 있습니다. 그러나 2nd 버전을 5th 버전으로 변환할 수는 없습니다. 2를 3으로, 3을 4로, 4를 5로 변환해야 합니다. 게다가 각 단계마다 다른 버전의 Xcode가 필요합니다.
일반적인 마이그레이션 단계
2에서 3
The official Swift 3 migration guide
따라서 Swift 2 코드를 열고 컴파일하고 변환하려면 이전 Xcode 버전이 필요합니다. Swift 2의 유효한(최신) Xcode 버전은 Xcode 8.3.3 입니다. 불행히도 Xcode 8.3.3은 최신 OSX Catalina에서 작동하지 않습니다. 최소한 High Sierra 또는 이전 버전이 필요합니다. 이 투쟁은 VirtualBox 을 사용하여 해결되었습니다.
올바른 OSX 및 Xcode가 설치되면 코드가 자동으로 변환됩니다. 도서관이 남아 있었다.
우선 그 시기에 맞는 cocoa-pod CLI 버전이 있으면 좋다. 1.3.1입니다.
sudo gem install cocoapods -v 1.3.1
성공적인 라이브러리 업데이트의 핵심은 적합한 버전을 결정하는 것입니다. 이러한 정보가 Pod 페이지에 있으면 쉽습니다. 예를 들어 RappleProgressHUD의 경우 Swift 4 이상 버전에 대한 정보가 있습니다. 또 다른 방법은 Podspec 에서 시간별로 선택하는 것입니다. 2017년 말은 Swift 3에 적합합니다.
3에서 4
The official Swift 4 migration guide
다음 단계는 Swift 3을 4로 변환하는 것입니다. Xcode 10.1 을 사용하여 수행할 수 있습니다.
라이브러리는 위와 같은 방식으로 마이그레이션되었습니다.
몇 가지 수동 변경 사항이 있습니다.
부분 문자열
그들은 범위를 처리하는 새로운 방법을 도입했습니다.
스위프트 3
s[x...y]
스위프트 4
String(
s.substring(
with:
s.index(s.startIndex, offsetBy: x)..
<s.index(s.startIndex, offsetBy: y)
)
)
명시적 캐스팅
"Any"유형의 변수는 명시적으로 캐스트되어야 합니다.
스위프트 3
array: NSArray
..
s = array[index]["id"] as? String
스위프트 4
s = (array[index] as! NSDictionary)["id"] as? String
4에서 5
The official Swift 5 migration guide
마지막으로 Swift 4에서 5로 변환하는 것이 가장 쉽고 최신 Xcode 11에서 수행할 수 있습니다. 모든 코드는 자동으로 변환되었습니다. 위와 같이 라이브러리가 업데이트 되었습니다. 아이콘과 시작 화면이 새로운 크기에 추가되었습니다.
세워짐. 게시됨. 이익. ;)
Jesse orrico에 Unsplash의 사진
Reference
이 문제에 관하여(2020년에 Swift 2에서 5로 마이그레이션), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/ngrebenshikov/migrating-from-swift-2-to-5-in-2020-4io0
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
sudo gem install cocoapods -v 1.3.1
The official Swift 4 migration guide
다음 단계는 Swift 3을 4로 변환하는 것입니다. Xcode 10.1 을 사용하여 수행할 수 있습니다.
라이브러리는 위와 같은 방식으로 마이그레이션되었습니다.
몇 가지 수동 변경 사항이 있습니다.
부분 문자열
그들은 범위를 처리하는 새로운 방법을 도입했습니다.
스위프트 3
s[x...y]
스위프트 4
String(
s.substring(
with:
s.index(s.startIndex, offsetBy: x)..
<s.index(s.startIndex, offsetBy: y)
)
)
명시적 캐스팅
"Any"유형의 변수는 명시적으로 캐스트되어야 합니다.
스위프트 3
array: NSArray
..
s = array[index]["id"] as? String
스위프트 4
s = (array[index] as! NSDictionary)["id"] as? String
4에서 5
The official Swift 5 migration guide
마지막으로 Swift 4에서 5로 변환하는 것이 가장 쉽고 최신 Xcode 11에서 수행할 수 있습니다. 모든 코드는 자동으로 변환되었습니다. 위와 같이 라이브러리가 업데이트 되었습니다. 아이콘과 시작 화면이 새로운 크기에 추가되었습니다.
세워짐. 게시됨. 이익. ;)
Jesse orrico에 Unsplash의 사진
Reference
이 문제에 관하여(2020년에 Swift 2에서 5로 마이그레이션), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/ngrebenshikov/migrating-from-swift-2-to-5-in-2020-4io0
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(2020년에 Swift 2에서 5로 마이그레이션), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/ngrebenshikov/migrating-from-swift-2-to-5-in-2020-4io0텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)