티스토리 뷰

공부

Xcode 11 Beta Release Notes

Zedd0202 2019. 6. 4. 07:06
반응형


안녕하세요 :) Zedd입니다.


애플 야 키노트 내놔

아니 집컴 Xcode11은 진짜 빨리 다운받아졌는데 회사 왜이래 와이파이 무슨일이지? 다들 Xcode다운받나 오후에나 쓸 수 있겠네요.

나 왜 WWDC안갔지? 진짜 미쳤어.....진짜 아침에 요약 영상 보는데 자리에 있던 사람들이 너무너무 부럽더라구요 ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ

나 왜.....안갔어...


글 다 쓰고 다시 위로 왔는데, 저 이렇게 Xcode가 압축 푸는게 이렇게..이렇게 답답한적은 처음이네요. 엥;; 누가보면 개발 한 10년 한줄...아악 빨리 빨리ㅏ빠라ㅏㅃ리ㅣ빠리 빨리 ㅠㅠ 쓰고싶어 이거 압축 풀리면 이미지 넣으면서 글 또 업데이트 해야겠네요 헉 이거 쓰는 순간 압축 다 풀어져 버렸죠?


뭐야 갑자기



빨리요 빨리


Xcode 11 Beta Release Notes



시작.


- SwiftUI


첫 빠따..

SwiftUI는 정말 충격적이면서도 정말 흥미로운..기능입니다.

얼른 써보고싶어요!!!!!!!!!!!


튜토리얼 : https://developer.apple.com/tutorials/swiftui/tutorials

문서 : https://developer.apple.com/documentation/swiftui


SwiftUI를 잠깐 살펴보면


Declare the user interface and behavior for your app on every platform.

모든 플랫폼에서 앱의 UI와 동작을 선언합니다.


...(중략)


SwiftUI views를 UIKit, AppKit 및 WatchKit프레임워크의 객체와 통합하여 플랫폼 별 기능을 더욱 효과적으로 활용 할 수 있습니다. 


진짜 개미쳤어 진짜

하지만 ^_^


Tools for SwiftUI development are only available when running on macOS 10.15 beta.


SwiftUI는 카탈리나(이번버전 macOS이름. 모하비 같은거임. https://www.apple.com/macos/catalina-preview/)로 업데이트 해야지만 쓸 수 있다는 사실. 당연하게도 Xcode11 베타는 물론이구요.

아나 회사...........컴.....은 macOS 업데이트는 조금 그런데.....집 맥북으로 해봐야겠네요.



- Application Loader 

Xcode supports uploading apps from the Organizer window or from the command line with xcodebuild or xcrun altool. Application Loader is no longer included with Xcode. 


간단히 말해서 Application Loader가 없어지는군요. 뭔가 fastlane화(?)라고 말하면 좀.. 다른건가? 암튼 그런느낌임. 

Application Loader를 쓰시는 분들...특히 저........를 위한 아주 특별한 변화군요.

진짜 없군


- Asset Catalog

메뉴 또는 단축키를 사용하여 asset을 cut, copy, paste할 수 있게 되었습니다.



- Build System

이제 프로젝트에서 custom build rule을 사용하여 헤더파일을 처리 할 수 있습니다.(APPLY_RULES_IN_COPY_HEADERS)

custom build rule은 이제 아키텍쳐마다 한번만 실행해야한다고 선언하거나, 모든 아키텍쳐에서 한번만 실행되도록 선언할 수 있습니다. 아키텍쳐에 독립적이지 않은 custom rule, 예를들어 아키텍쳐별로 다른 파일을 생성하는 code generation tools에 유용합니다.


Xcode는 빌드할 때, product의 info.plist파일에서 일부항목을 제거합니다. 이 항목은 빌드 할 플랫폼에 적합하지 않은 경우 여러 플랫폼 용으로 빌드하도록 구성된 target에 대해 유용합니다. 빌드설정 DISABLE_INFOPLIST_PLATFORM_PROCESSING을 YES로 설정하면, 이 동작을 사용하지 못하게 할 수 있습니다. 이 경우, target은 이러한 항목을 적절하게 관리해야합니다. 



- Core Data

이제 String속성의 기본값이 nil인지 또는 빈 문자열인지 구분할 수 있는 checkbox가 있습니다. 설정 될 때 다른 기본값이 지정되지 않은 경우, 기본값은 빈 문자열입니다. 


Xcode11 데이터 모델 파일 format은 더이상 엔티티 또는 프로퍼티에 대해 더이상 사용되지 않는 동기화 서비스 정보를 기록하거나 보존하지 않습니다. 



- Debugging

view debugger는 이제 iOS및 시스템 color색상의 이름 / trait collection information / UIIMmage 인스턴스의 이름 / 기준선(baseline) 및 정중선(?midline)과 같은 symbol information 을 표시합니다. 하이고 고마워 애들아

왼쪽은 Xcode 10.2구요, 오른쪽은 Xcode11입니다. 지금부터 나오는 애들 다 그러니까 참고

암튼 지금 오른쪽 보면 systemBlueColor라고 나오고 있죠?


trait collection information도 추가됐고


오른쪽 보면 이미지 이름도 나오는 것을 볼 수 있죠.


debug bar appearance switcher는 iOS에서 dark mode와 light mode를 변경 할 수 있습니다.


하단에 저런 스위치같은 버튼이 추가되었는데요.

아 대박아냐 진짜????????:;;



아니 이게 켜는 순간 시뮬레이터나 디바이스에 바로 반영이 되거든요? 아니 걍 대박아냐ㅕ????


걍 대박아냐? 미친거아냐 진짜?? 미쳤어 지짜



ㅎ ㅏ......

- Instruments

Instruments의 트랙을 계층구조로 구성 할 수 있습니다. 이제 모든 engineering type을 나타낼 수 있으며 사용자 정의 Instruments를 사용하여 생성됩니다.



Interface Builder

Interface Builder’s 의 device bar를 사용하여 iOS앱의 light / dark appearance를 전환 할 수 있습니다.


UITableView의 cell은 이제 canvas의 Auto Layout constrained views에서 self size가 가능합니다. 



LLDB

LLDB의 Python 스크립팅은 이제 Python3을 기반으로 합니다. Python 3과 호환되지 않는 Python extension을 사용하는 경우 중단됩니다. 전환(transition)을 돕기 위해 기본값을 설정하여 Python2 모드로 실행할 수 있습니다. Python2 지원은 앞으로 제거될 것 입니다.(Python 2 support will be removed in the future.)


LLDB에 데이터 포매터가 있어, Swift Decimal값을 readable way 그니까 읽을 수 있는 방식으로 표시합니다.



Localization

이제 asset catalogs에 있는 asset을 localize할 수 있습니다.



Organizer

새로운 Metrics organizer는 앱의 배터리 수명 및 성능 분석을 보여주어, 최적화를 이끌어냅니다.

앱스토어에서 배포되고, 충분한 필드 사용 후에, 통계가 앱에 보고됩니다.




Signing and Distribution

이제 Signing및 capabilities설정이 프로젝트 편집기의 새로운 Signing & Capabilities탭에서 결합됩니다. 새 탭을 사용하면, multiple build configuration에서 다양한 앱 기능(app capabilities)을 사용 할 수 있습니다. 


중요


Xcode 11은 새로운 Apple Development 및 Apple Distribution certificate types을 지원합니다. 이 인증서는 모든 Apple 플랫폼에서 앱을 build, run, distribute하는 것을 지원합니다. 이미 존재하는 iOS 및 macOS개발 및 배포인증서는 계속 작동하지만, Xcode 11에서 생성한 새로운 인증서는 새로운 타입을 사용합니다. 이전 버전의 Xcode는 이러한 인증서타입을 지원하지 않습니다. 


저는 중요하다고 생각하니까..위에껀 반드시 읽으세요.


자, 여기 변경사항을 그림으로 봅시다.

프로젝트를 클릭하면 원래 아래 그림처럼 Info랑 Build Settings만 있었는데, 위 그림처럼 Swift Packages 탭이 생겼습니다.


프로젝트 이름ㅇ이 나와서;; 빨간건 안보셔도 됩니다. 암튼 중요한건 위에 보면 Signing & Capabilities탭이 생겼습니다. 

저 탭을 가면..익숙한 화면이 나오는데요. 원래 Target > General에 있던.. 

암튼 아 눈아파 ㅁㅊ 암튼 이거..이게 저 탭으로 들어갔고, General에서는 사라졌습니다! 그리고 원래 있었던 Capabilities탭도 이 탭에 흡수되면서 사라지게 되었죠. 



+ 버튼을 누르면

이렇게 나오ㅓ게 되는군요!

- Simulator

Metal은 MacOS 10.15에서 실행될 때 iOS 13 및 tvOS 13 시뮬레이터에서 사용할 수 있습니다. 

Xcode는 더 이상 기본적으로 사용 가능한 모든 iOS 시뮬레이터 디바이스를 생성하지 않습니다. 오...!!!!!!!  대신, 가장 일반적으로 사용되는 디바이스 집합이 만들어집니다. 다른 디바이스 또는 디바이스의 여러 인스턴스를 만들려면, 디바이스창을 열고 > 시뮬레이터 선택 > +를 클릭한 담에 이름 입력하고 관련 디바이스 타입 및 OS버전 선택하삼

뭐야 갑자기 확 줄음...아니 아주 개인적으로 제 최애 시뮬레이터는 6s인데..........아무 의미없음 그냥 6s가 좋음....추가해야하넹ㅎ


Source Control

체리픽 가능


새 repository를 클론할 때, 이제 브랜치를 선택할 수 있으며 사용가능한 브랜치 리스트로에서 checkout가능.


새로운 source control file inspector를 사용하면, 현재 브랜치 & 현재 파일에 대한 전체 히스토리(full history)를 탐색할 수 있습니다. 오 개땡큐 진짜


이건가?

누르면



이렇게 되구요

Show Commit누르면?



이렇게 Diff가 나오게 됩니다. 

아 근데 이거 원래 있는 기능이네요??..


자 그리고 스토리보드에 가면, inspector에 탭이 하나 추가되었습니다. 



이렇게 나오고, 누르면 역시



아까처럼 나옵니다.





Source Editor

Semantic highlighting, code completion, live issues, symbol search, 그리고 jump-to-definition가 Metal shading language에서 지원됩니다. Metal shading language가 뭐지..


소스 편집기 변경막대를 클릭하고, 변경 표시 또는 숨기기를 선택하여, 소스편집기의 변경사항에 대한 인라인 코드 diff를 볼 수 있는 기능을 소개합니다. 아아아아악가안마이;ㄴ암ㄴ;ㅣ암ㄴ;아아어억 미친....미친거아녀 진짜..미쳤어 애플?? 개감사 진짜..


Diff는 위에서 말한거 같으니 그림은 넘어갈게요? 근데 내가 본 Diff랑 지금 말하는 Diff랑 다른건가? 원래 있는데 뭐지..저는 원래 있는지도 몰랐음ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ


새로운 High Contrast (Dark) 테마와 High Contrast (Light) 테마를 추가했습니다. ㅋㅋㅋㅋㅋ.ㅋ.ㅋ.ㅋ.ㅋ.ㅋ.ㅋ..살앙해



Swift파일의 선언에 대한 전용 구문색 지정이 추가되었습니다. 


Xcode’s source editor now supports spell checking.  ㅋㅋ..ㅋ.ㅋ.ㅋ.ㅋ.ㅋ.ㅋ.ㅋ.ㅋ spell checking을 지원합니다.. 아니 미쳤어?? 오ㅑ이래 갑자기 애플 진짜 넘 사랑스러워


Xcode 11의 소스편집기는 파일의 미니맵을 제공합니다.


와 이것도 무슨 테마별로..색깔 달라 미쳤어


+) 엄청난 사실 하나 더..

커맨드를 누를 상태로 미니맵에 마우스를 가져다대



대-박



가장 아래의 Hide Minimap을 사용하여 숨길 수 있음. 


미니맵에는 Mark, 소스 컨트롤 변경사항, breakpoints, highlighted Find results가 포함됩니다. 미니맵은 기본적으로 사용하도록 설정되어있으며, 에디터별로 끌 수 있습니다.

보이실진 모르겠지만...소스컨트롤 변경사항은 위에있는 세로 파랑색..breakpoint는 아래에있는 가로 파랑색 암튼 저렇게 나오네요.

하이라이팅은 노란색!


text를 드래그 앤 드롭 할 때, 텍스트를 놓을 곳을 쉽게 볼 수 있도록, 줄 사이에 여백이 생깁니다. 


계층적 code folding을 허용합니다.

code folding은 대괄호와 괄호를 지원합니다. 


// MARK: comments and #pragma mark directives은 이제 편집기에 구분선(separator line)을 그립니다. 

ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ아니 내가 진짜 원했던거잖아 아아아아악 사랑해 진짜 ㅠ

ㅠㅠㅠㅠㅠㅠㅠㅠ


오늘부로 애플 지지를 철회한다.

오늘부터 지지관계에서 벗어나 애플과 나는 한몸으로 일체가 된다.

애플에 대한 공격은 곧 나에 대한 공격으로 간주한다



Testing

SwiftUI를 채택한 앱용 XCTest 기반 테스트 작성을 지원합니다.


아니 이거 다썼는데 아직도 키노트가 안나왔군


+) 음..위에는 없는데 그냥 제가 바뀐거 보면 추가하는..공간..

왼쪽 10.2 오른쪽 11입니다.

오른쪽보면 interface style이 추가된 것을 볼 수 있구요.


- Light


- Dark

입니다.

탭바까지 완-벽


Project > General에 



깨알 Mac..제가 카탈리나가 아니라 활성화가 안되는 거겠죠?


Status Bar에 가장 아래의 mutiple windows가 추가됐군요.



오브젝트 라이브러리


이렇게 바뀌었군요. 원래 미디어 파일 여는거랑 오브젝트 여는거랑 단축키도 다르고 그랬잖아요? 근데 하나로 합쳐졌군요. 



아이콘도 바뀐거지...? 



여백이라던가 이런게 좀 바뀌었네요zz



너무이뻐..



헉 Menu..얘네는 아마 제 느낌적인 느낌으로 mac앱에서 쓰는 그런거 같은..그런거 인가요? 암튼 이게 들어왔네요. 

지금 프로젝트가 iOS앱인데도요!



Xcode에서 제플린에 접근 할 수 있게 되었군요.


Add document기능이 생겼습니다!



누르면?



파라미터가 없어서 그런데.. 파라미터가 있는 함수를 하나 만들고 add document를 누르면..



Ta da

진짜ㅣ 이건 리스펙이다..



Add Parameter와 Add Return Type도 생겼군요. 



viewDidLoad는 걍 예시인거 아시죠..?! 오류납니다 이러면..


Operator도 Jump to definition기능이 생겼습니다. 



이런거..

이거 Command + 클릭해도 아무 반응 없었잖아요? 

Xcode 11에서는 다릅니다.



워후~~



아...내일.... What's New in Xcode 11세션이 있었네..그래..업ㄱㅅ을리가없는데..그거 보고 쓸걸...

암튼 저도 보고 추가할 내용 있으면 더 추가할게요!

반응형