안녕하세요 하노입니다:)
어제 Let Us: Go! 2022 Summer 컨퍼런스를 다녀왔습니다.
아직 iOS의 i도 모르는 개발자이지만 세션 하나하나가 정말 많은 도움이 되었습니다!
Let Us: Go! 에 세션 주제로 나왔던 것 중에 DocC에 대한 세션을 들으면서 정말 흥미로운 주제라고 생각하여 다루게 되었습니다!
사실 C언어에서는 "Doxygen"이라는 Document 프로그램을 사용하여 관리해본 적이 있었는데요.
iOS 개발로 넘어오면서 이런 기능이 있겠거니~ 하고 넘겼었는데,
생각지도 못한 곳에서 DocC라는 Apple 자체 프로그램이 있어서 한번 알아보려고 합니다.
1. DocC에 대하여
DocC 공식 문서: https://developer.apple.com/documentation/docc
자세한 사항은 Apple에서 제공하는 공식 문서를 활용하면 되지만, 쉽게 설명하면 Apple의 모든 공식 문서가 사실 DocC로 만들었습니다! 정말 놀랍지 않나요? (이 사실을 컨퍼런스 세션에서 알았습니다..ㅎ)
이제 어떻게 DocC를 어떻게 사용하는지 알아보겠습니다.
2. DocC 생성하는 방법
1. 새로운 프로젝트를 생성해줍니다.
2. 프로젝트 내에서 Documentation Catalog 파일을 생성합니다.
3. 프로젝트 내에 정상적으로 생성되었는지 확인해줍니다.
정상적으로 생성이 되면 아래 사진처럼 .docc, .md파일 등이 생성됩니다.
이렇게 DocC파일을 생성하여 줍니다.
여기서 Documentation.md 파일을 열어보겠습니다.
오! 뭔가 마크다운을 기반으로 하는 파일이 보이네요!
이제 DocC를 실제로 보기 위해서 빌드를 해보겠습니다.
Product -> Build Documentation을 클릭하여 빌드합니다.
그러면 아래와 같은 창이 하나 뜹니다.
이 사진에서 좌측 메뉴 내에 상단을 보시면 자신이 만든 프로젝트가 보일 거예요.
이 것을 클릭해보면,
이런 식으로 프로젝트에 관한 문서가 생성됩니다! 정말 신기하지 않나요???
지금은 아무것도 설정을 안 하고 바로 빌드했기 때문에 적혀있는 것도 아무것도 없지만,
어떻게 변경되는지 확인하기 위하여 여러 가지를 입력해보겠습니다.
이런 식으로 입력하고 다시 Build Documentation을 클릭하여 확인하면,
위에 변경사항대로 문서가 바뀌는 것을 확인할 수 있습니다.
여기서 새로운 ViewController를 만들어 문서에도 실제로 추가가 되는지 확인해보겠습니다.
저는 간단하게 ViewController 파일을 만들어 확인하겠습니다.
UIViewController를 만들고, import UIKit 밑에 /// 와 /***/ 주석을 이용하여 정보를 입력합니다.
이후 빌드하면 어떻게 추가되는지 확인해보겠습니다.
제가 만든 MyViewController 클래스가 추가되었네요! 그리고 밑에 설명도 있습니다!
한번 MyViewController를 클릭하여 어떻게 보이는지 확인해보겠습니다.
확인 결과 위의 주석 처리한 내용이 문서에 추가됨을 확인할 수 있습니다!
마지막으로 변수와 메서드를 각각 하나씩 추가해서 어떻게 문서에 적용되는지 확인해보겠습니다!
위처럼 변수와 메서드를 하나씩 선언해주고, 위에 주석으로 간단하게 정보를 입력한 후 빌드해보겠습니다.
위 사진처럼 Topics 내 변수와 메서드가 생성되고 주석 처리한 부분이 그대로 문서에 적용되었습니다!
오늘은 DocC에 대하여 알아보았습니다.
실제로 렛어스고에서는 DocC 세션을 리이오님께서 진행해주셨는데요!
개인적으로 궁금했었던(하지만 까먹고 있었던,,,ㅎㅎ) 부분이라서 정말 재밌게 들었습니다.
앞으로 프로젝트를 진행할 때 DocC를 이용하여 문서작업까지 같이 하게 된다면, 두 번 일하지 않아서 좋고
무엇보다 애플 공식문서처럼 깔끔한 UI를 사용할 수 있다는 점이 무척 좋네요 ㅎㅎ
그럼 오늘 글은 여기서 마치겠습니다 :)
'iOS' 카테고리의 다른 글
메모리 누수(Memory Leak) 점검 • 해결 방법 및 회고 (0) | 2023.07.29 |
---|---|
[iOS + Firebase] Analytics, Crashlytics, Messaging 사용하기 (0) | 2022.10.11 |
[iOS] 첫 앱 출시에 대한 회고 (0) | 2022.10.04 |
[iOS] 라이트 모드 / 다크 모드 막기 (0) | 2022.08.08 |
[WebKit] WebView 사용법 (0) | 2022.08.08 |