첫 번째 mac OS app YATA #4

YATA YATA는 macOS용 자작 앱으로 Yet Another Telegra.ph App을 의미하는 약어이다. 약 2달 반 정도 개발하면서 생각나는 것들을 정리해본다. 선택한 페이지 웹 브라우저에서 보기 툴바에 버튼을 추가하여 왼쪽 목록에서 선택한 페이지의 내용을 웹브라우저에서 보는 것을 구현했다. 페이지 콘텐츠 형태 변환 NSTextView에서 몇 가지 텍스트 서식 및 문단 스타일에 대해 구현을 했으니, telegrap.ph에서 받아온 페이지 내용을 변환해서 보여주는 부분과 반대로 NSTextView에서 저장한 것을 telegra.ph API 문서에 나와 있는 형태로 바꾸는 부분을 구현해야 한다...

10월 22, 2017

첫 번째 mac OS app YATA #3

YATA YATA는 macOS용 자작 앱으로 Yet Another Telegra.ph App을 의미하는 약어이다. 약 2달 반 정도 개발하면서 생각나는 것들을 정리해본다. Cocoa 텍스트 시스템 Bold, Italic 등 텍스트 서식을 지원하기 위해 Cocoa의 텍스트 시스템을 알아보기 시작했다. Cocoa Text Architecture Guide 문서를 보자마자 “헉??!!” 소리가 먼저 나왔다. 한눈에 봐도 방대해 보였다. ㅠ.ㅠ 문서를 훑어보고 필요한 부분만을 먼저 찾아보기 시작했다. NSTextView를 사용하여 텍스트를 보여주고 있었기에 이 텍스트에 서식을 지정하는 부분을 보니 대략 다음과 같다....

9월 24, 2017

첫 번째 mac OS app YATA #2

YATA YATA는 macOS용 자작 앱으로 Yet Another Telegra.ph App을 의미하는 약어이다. 약 2달 반 정도 개발하면서 생각나는 것들을 정리해본다. 첫 버전 기능 명세 정리 UI 디자인을 하기 전에 어떤 기능을 넣을지 생각을 해봤다. Telegra.ph 웹 서비스 및 API를 사용하면서 첫 버전에는 다음과 같은 기능을 제공하는 것으로 정리했다. 계정 관리 기능 글 목록 보여주기 글 편집기 문단 스타일 지원 bold, italic, link 지원 웹에서는 이것보다 더 많은 기능을 제공하지만, 이후 버전에 하나씩 추가하는 것으로 생각했다....

9월 6, 2017

첫 번째 mac OS app YATA #1

YATA YATA는 macOS용 자작 앱으로 Yet Another Telegra.ph App을 의미하는 약어이다. 약 2달 반 정도 개발하면서 생각나는 것들을 정리해본다. Telegra.ph Telegra.ph는 telegram에서 만든 웹에 글을 쉽게 게시할 수 있는 서비스이다. Telegraph – a publishing tool that lets you create richly formatted posts with photos and all sorts of embedded stuff. Telegraph posts get beautiful Instant View pages on Telegram. 이 서비스에 대한 Telegra.ph API도 공개하고 있는데, 단순한 서비스라 복잡하지 않았다. API를 살펴보니 현재 웹에서 제공하지 않는 기능을 제공할 수 있어 보였다....

9월 2, 2017

두 번째 자작 앱 OhMyPlane #6 마지막

OhMyPlane 자작 앱 개발 여섯 번째 이야기로 드디어 마지막 이야기다. 이번에는 Game Center 기능을 추가할 때의 이야기다. 게임 센터 관련 기획 게임 센터 관련 기능 구현과 관련된 코드 구현 작업은 그렇게 어렵지는 않았다. 다만, 구현 시작 전에 게임의 목표를 기획하는 부분이 어려웠다. 게임의 목표 게임 센터에서 목표를 달성하면 얻는 점수의 총점이 1,000점으로 제한되어 있다. 굳이 1,000점을 다 맞출 필요는 없었으나, 하다 보니 1,000점에 맞춰서 목표를 설계했다. 다양하게 목표를 설계했군 하면서 뿌듯해 하다, itunesConnect에 목표를 입력하자마자 좌절했다....

5월 6, 2016

두 번째 자작 앱 OhMyPlane #5

OhMyPlane 자작 앱 개발 다섯 번째 이야기. 이번에는 App Store에 tvOS 버전을 올릴 때의 이야기다. 저장한 plist 파일이 사라짐 3개의 최고 득점을 별도의 plist에 저장하게 구현을 했는데, tvOS에서 테스트하다 보니 기록이 저장되지 않는 현상을 발견했다. 문제 사항으로 검색해보니 App Programming Guide for tvOS에 저장 장치 제약사항에 대한 내용이 나온다. tvOS 관련 문서 탐독 없이 무작정 부딪히다 보니 기본적인 것들을 놓친 것 중의 하나이다. 얼마 안 되는 용량이기에 tvOS의 경우 NSUserDefaults를 이용하여 저장하게 수정했다....

4월 27, 2016

두 번째 자작 앱 OhMyPlane #4

OhMyPlane 자작 앱 개발 네 번째 이야기. 이번에는 App Store에 iOS 버전을 올릴 때와 tvOS 대응 작업 시의 이야기다. 동작 화면 찍기 UI Kit으로 만든 앱의 경우, XCode의 UI Test와 sanpshot을 이용하면 자동으로 동작 화면을 찍을 수 있었다. 그러나, Sprite Kit의 경우에는 이게 안 된다. 즉, 직접 모든 동작 화면을 찍어야 했다. 시뮬레이터에서 대상 장비를 선택 후, 앱을 실행시켜 찍고자 하는 화면일 때 Command + S를 눌러 동작 화면을 찍었다. 총 6개의 장비에 대해서 같은 작업을 반복했다....

4월 25, 2016

두 번째 자작 앱 OhMyPlane #3

OhMyPlane 자작 앱 개발 세 번째 이야기. 프로토타입을 하나의 앱으로 완성(?)할 때, 기억에 남아 있는 것들을 정리해 본다. 전체적인 장면(Scene) 구성 처음에 이런 형태로 생각했던 것은 아니고, 중간에 계속 바꿔가다가 완성된 장면들의 흐름은 다음과 같다. 점선으로 된 사각형이 하나의 장면이다. 빨간 화살표는 장면의 변경 경로를 표시했다. 게임 장면은 4개의 상태에 나누었고, 상태에 따라서 다른 장면으로 이동한다. 게임 외의 장면을 UI Kit을 이용해서 구현하려다 Sprite Kit의 Scene을 이용해서 구현했다. 이왕 Sprite Kit을 사용한 김에 다른 부분도 다 이를 이용해서 구현했다....

4월 21, 2016

두 번째 자작 앱 OhMyPlane #2

OhMyPlane 자작 앱 개발 두 번째 이야기. 이번에는 프로토타입 구현할 때 기억에 남는 것들을 끄적여 본다. 이미지 작업 그림을 그리거나, 이미지를 다루는 능력이 많이 부족하므로 난이도가 높게 느껴진다. 다양한 화면 대응 iPad, iPhone 및 tvOS를 대상으로 하므로 다양한 화면크기에 대해 고려를 해야 한다. 2D iOS & tvOS Games by Tutorials 책에서 제시한 방법을 그대로 사용하였다. 가로 화면만을 지원할 것이기 때문에 배경의 크기가 2048x1536 크기이고, 화면 상태가 Aspect Fill이면 모든 화면 크기에 대응할 수 있다....

4월 20, 2016

두 번째 자작 앱 OhMyPlane #1

OhMyPlane 두 번째 자작 앱이 앱스토어에 올라갔다. 개발 시작부터 앱스토어에 올리기까지 대략 4주 정도 걸렸다. 그동안 작업했던 것 중 대략 기억에 남는 것들을 역시 끄적여 본다. Sprite Kit, Gameplay Kit 학습 이상한 모임의 Slack에서 RayWenderlich를 알게 된 후, Tutorials와 책들을 하나씩 사서 즐겁게 보고 있었다. 그중 2D 게임 만들기와 관련된 2D iOS & tvOS Games by Tutorials 책을 사들여 하나씩 따라 해가며 보았다. 800여 페이지라 다 보는 데 몇 달 걸렸지만, 처음부터 게임을 하나씩 완성해가는 재미가 쏠쏠했다....

4월 19, 2016