티스토리 뷰

공부

Xcode11 ) 프로젝트 만들어보기

Zedd0202 2019. 6. 6. 16:59
반응형


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

결국..나와따.

근데 카탈리나 아닌 맥북을 들고나와서, 아마 프리뷰가 같이 찍히는 스크린샷은 없을 듯 합니다zzz

아 근데..진짜 그 프리뷰가 없으면 의미가 없는데...

그 캔버스에서 오브젝트를 푭 놓으면 소스편집기에 푭 생기는거 봐야하는데..진짜...ㅂㄷ


그래서 뭐 간단한 공부를 하나 해보려고 합니다. 

SwiftUI관련글은 길게 한번에 쓰는것 보다, 짧게 여러번 쓰는게 나을 것 같다는 생각이에요.

방금까지 SwiftUI할 생각이었는데 생각 바뀜

아니 제목을 뭐로 지어야 하는거지? 


그냥 간단히..프로젝트 계층 살펴보기.....






SwiftUI를 체크하고 Single View App 프로젝트를 만들면, 



이렇게 프로젝트 계층이 이루어진 것을 볼 수 있습니다.


AppDelegate.swift

SceneDelegate.swift < new!

ContentView.swift < new!

....


군요


음....일단 자!!!!! 일단 SwiftUI를 체크 한거랑 안한거랑 비교해봅시다.


왼쪽이 SwiftUI를 체크한 프로젝트, 

오른쪽이 체크하지않은 프로젝트입니다.


오 SceneDelegate.swift는 SwiftUI를 체크해야만 생기는 줄 알았는데, 아닌가보군요. 


가장 큰 차이점은, SwiftUI프로젝트는 ContentView.swift가 있고, main.storyboard가 없습니다.

SwiftUI가 아닌 일반 프로젝트는 다 똑같은데 SceneDelegate.swift만 추가됐군요.


자, 그럼 SwiftUI프로젝트와 SwiftUI가 아닌 프로젝트의 계층들을 봤으니, 새로운 아이들을 한번 봅시다. 

아니 근데 SwiftUI가 아닌 프로젝트를 뭐라부르지.....흠......뭔가 공식적인 이름이 아니더라도 제가 이 글 내에서 계속 SwiftUI가 아닌 프로젝트라고 부르기가 귀찮네요. 근데 이름을 막 지어줄 순 없지...


자 아무튼 일단 AppDelegate.swift부터 볼까요?

아 음...지금 AppDelegate.swift랑 SceneDelegate.swift를 볼건데, 

SwiftUI프로젝트랑 non-SwiftUI프로젝트랑 똑같으니까 참고하세요. 

뭐 SwiftUI만 이렇다! 이런거 아닙니다.


계속 AppDelegate.swift를 보도록 합시다.

기존의 AppDelegate와 비슷할 것 같지만 다릅니다.



일단 AppDelegate안에 있던 window 객체가 없어졌군요.



원래 window가 있었는디..

아 테마가 같으니까 조금 헷갈릴려나요!?!?

흠..


자, AppDelegate.swift의 하단에



UISceneSession Lifecycle에 대한 메소드들이 있군요.


참고로..아 뭐 당연한 소리겠지만??

Deployment target을 12.x로 바꾸면..

ㅎㅎ

AppDelegate 및 SceneDelegate에서 에러가 나게 되며..available을 떡칠해야하는 상황이..

아니 그럼 애초에 프로젝트 만들 때 Deployment target선택 할 수 있게 하든가..



자..그럼 UISceneSession에 대해서 알아야 하는데...

https://developer.apple.com/documentation/uikit/app_and_scenes

App and Scenes라는 섹션??이라고 해야하나 문서에 이게 새로 생겼네요??

아니 새로 생긴건지 뭔지는 잘 모르겠는데..원래 있었을 수도 있는데!!!! 제가 처음 보네욥..

zzzzzzzzzz


그럼......나 이거먼저 봐야하는데...

근데 지금 이 글에서 이걸 하는게 맞는건가?


음...그럼 나중에 볼게요! 문서 한번 쭉 보니까, 이거 관련해서 내용이 엄청 많을 것 같아요 ㅎㅎㅎ



추가된 애들이 어마무시하네요..!!



야!!!!!!!!!!!!!!!!!!!!!!!! 뭐...StatusBarManager??????????????? 

미친거 아냐 진짜...애플 진짜....

엄청난 사실이 하나 더 있습니다..



ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ아니

아니..진짜....아니 애플...애플 진짜.....

애플은..내 사랑을 받아라,..

그래 statusBarStyle도 나와줘야지 그래 진짜 아주 훌륭해



lightContent가 statusBar가 하얀색으로 변하는거였잖아요? darkContent는 검정색~~




light background에 쓰세욘~~~
아 ㅠㅠ진짜 대박이야 걍..ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ
뭔가 개발자들을 생각하는 마음이 너무 애틋하지 않나요..? 그래서 너무 사소하지만.. 이런거 발견할때마다 너무 감동.....

애플 : 응 아니야~~~


아니 지금 제가 잠깐 이성을 잃어서..;; 글이 산으로 왔군요.

SceneDelegate.swift를 볼까욘?


에 여기(SceneDelegate.swift)에 window가..


??이거 어디서 많이 본거죠



뭔가 Scene이라는 개념이 내가 생각하는 app인가..???
제가 아직 Scene이라는 개념을 확실하게 모르겠어요zzz 

음..이게 Scene이 왜 이런 메소드를 가지게 되었는지 아까 그 문서에 나와있는것 같은데..아마도?
그 부분만 잠깐 볼까요?

iOS 13이상에서는, 사용자가 앱의 UI의 여러 인스턴스를 만들고 관리 할 수 있으며, app switcher를 사용하여 전환 할 수 있습니다. 
iPad에서는 사용자가 여러 앱 인스턴스를 나란히 표시 할 수도 있습니다. 
각 인스턴스 마다 다른 내용이 표시되거나 내용이 다른 방식으로 표시됩니다. 

아 그니까 하나의 앱을 여러개 띄울 수 있어서 그렇게 된건가? 
그 각각이 Scene인거고, 각 Scene이 종료되거나 뭐 background에 가거나 할 수 있으니 저런 메소드가 있는거고, 


AppDelegate에 있는 ~terminate는 Scene말고, 앱 그 자체(?)가 종료됐을 때 불리는 걸까요?


아무튼 모두 제 추측이구요. 확실하지 않으니 다 믿진 마세요..? 그냥 문서가 말하는거 보니까 그냥 그럴 것 같은 느낌적인 느낌일 뿐..

빨리 가을이 와서....빨리..이 맥북에 카탈리나를 올리고싶다..

지금 다루고 싶은 주제들이 너무나도 많은데..zzzz다 할 수 있을지 모르겠네요. 




반응형

'공부' 카테고리의 다른 글

Catalyst - Bring Your iPad App to Mac  (0) 2019.06.07
SF Symbols 및 소소한 변경사항들  (1) 2019.06.07
Catalina 달라진 점!!  (8) 2019.06.05
Xcode 11 Beta Release Notes  (9) 2019.06.04
Human Interface Guidelines - Feedback  (0) 2019.04.05