[macOS] iCoinTicker 개발이야기 EP4. 첫 메이저 업데이트

in kr-dev •  7 years ago 

안녕하세요. 알쯔입니다!
지난 이야기에 이어! (지난이라고 해보았다 몇분전이지만요.) 계속해서 썰을 풀어보려고 합니다! 하하핫
steemit 도 도배방지 같은게 있진.. 않겠죠?!

지난 이야기

[macOS] iCoinTicker 개발이야기 EP1. 시작
[macOS] iCoinTicker 개발이야기 EP2. 기능고도화
[macOS] iCoinTicker 개발이야기 EP3. 안정화, 그리고 세계로!

screenshot2.png

EP3 마지막에 올려둔 한 트위터유저분의 요구사항이 첫 메이저 업데이트의 시작이 되게 되었습니다.

스크린샷 2017-07-09 01.18.58.png

그동안 간간히 무슨 코인을 추가해주세요. 라는 코인 한두개 추가요청이 있긴 했지만, 전체 코인을 다 추가해달라니요!
코인 활성화 및 비활성화를 그냥 메뉴바에서 하는 iCoinTicker 로서는 코인수를 무작정 늘릴 수가 없었습니다.
그러면 메뉴바가 화면 아래를 뚫고 무한히 내려가버릴테니까요!

iCoinTicker 의 태생적 한계때문에, 코인을 대폭 늘리기엔 문제가 많았던 상황에 저런 요구사항은 대략 난감이었죠.
결국은 윈도우하나 열리지 않는 앱이 설정윈도우를 가져야하는 상황에 부딪치게 됩니다.

하아. 설정패널이라니! 맥의 UI개발의 U 자도 모르는데 어떻게 하나?!
하지만 첫 시작이 그랬듯 언제나 방법은 있죠. 또다시 GitHub를 뒤지면서 기본 Toolbar Window 의 기본이 될만한 오픈소스들을 뒤지기 시작합니다.
Window를 띄우고, 우리가 일상적으로 보는 그 환경설정 패널이라고 불리는 것 말이죠.

스크린샷 2017-07-09 01.32.29.png

요런 느낌적인 느낌?!

기본뼈대가 될만한 소스를 가져다가 iCoinTicker 소스에 덕지덕지 바르기 시작한지 어언 3일... (정말 오래걸렸어요. 처음하는것이다보니)
어느정도 툴바가 구성되고 각 툴바별로 보일 VIEW를 꾸미게 됩니다.

기본적인 Checkbox 컨트롤이나, select 컨트롤쯤은 손쉽게 붙여넣기 하고, 코인목록과 거래소 목록이 보일 TableView 를 떡하니 추가하고 보니, 이것이 또 대략 난감...
하지만 TableView 는 iOS 4.0 때의 그것과 크게 다르지 않았습니다.
그냥 DataDelegate 하나 붙여서 뚝딱뚝딱... 수년전 개발했던 TableView 를 만들었던 기억을 더듬어 가면서요.

TableView 와 각종 설정을 넣고, About 윈도우에 떡하니 있던 도네이션 메뉴(이때까지 딱 한분만 도네이션 해주셨지만 ㅠ)도 추가하고...

그리고 매번 코인을 추가할때마다 앱 리뷰를 걸어서 버전을 업데이트 시키는것도 무리가 있으니, 코인과 거래소목록을 외부에 빼두고, 유저의 Documents 폴더에 파일로 관리를 하다가, 업데이트내역이 있으면 GitHub에서 다운로드 시키는 것이 좋겠다! 라는 생각에 업데이트 기능도 추가했습니다.

우리 착한 GitHub가 유저들의 업데이트에 대한 트래픽을 감당하게 되는것이죠!
코인 목록과 거래소 API 주소 그리고 자주 추가될것같은 녀석들을 plist 파일로 만들어 외부로 빼두고, 필요할때마다 업데이트 되도록 했습니다.

그리고 v3.0.0 브런치를 추가하고 개발하던중 알림기능(푸시, 노티)을 요청하신분이 계셔서 그것도 추가하고...
맥을 3대나 쓰는 저를 위해, 설정값들이 iCloud를 통해 동기화되면 좋겠다! 라는 생각에 CloudKit 도 활성화해줍니다.

반쯤 장난으로 시작했던 앱이 Apple이 지원해주는 각종 Kit들로 무장하게 되는... 완전체가 되어가고 있었죠. :)

그리고 v3.0.0 이라 불리는 버전을 애플 리뷰어에게 리뷰요청을 하게 됩니다.
첫번째 돌아온 대답은 Reject!
설정하기창에 떡하니 둔 도네이션 메뉴가 문제였습니다.
"우리는 우리 거래시스템이 아닌 다른 거래시스템으로 거래하거나 도네이션 받는것을 허용하지 않는다!"

응? 저 도네이션은 BTC와 ETH 지갑주소인데.. 어째서? 그리고 이때까지 잘 리뷰통과시켜줬자나! 대놓고 노출시켰다고 리젝이라니..
뭔가 앞뒤가 안 맞어!
하지만 애플은 갑이었기 때문에, 그럼 어떻게 하면 되느냐 라고 하니 IAP를 추가하면 된다는 쿨한 답변이...

하지만 전 개인개발자였고 미국 세금신고서 작성이 매우 어렵게 느껴졌기에, 아직 유료앱을 판매할 수 있는 개발자가 아닌것이 문제였죠.
온통 영어로 되어있는 보기만 해도 위압감이 쩌는 그 세금신고서...
구글번역기를 동원하여 하나씩 조심스럽게 기입을 하고 몇일이 지나니, 세금신고서가 통과되게 되고
이제 대놓고 유료앱을 팔수있는 개발자가 된것입니다! 올레!

그리곤 고민... 이왕 유료앱을 팔수있게 되었는데 걍 유료앱으로 할까?!
하지만 별다른 기능도 없고... 이때까지 무료로 풀고있었고... 소스까지 죄다 공개한 마당에 유료앱이라니... 뭔가 이상한데?
그냥 도네이션만 IAP로 받자! 라는 결론을...

IAP 도 처음해보는 녀석이라 StoreKit 을 추가하고 샌드박싱 옵션을 수정하고, 열심히 구글링을 해서 IAP 가 제 앱에 떡하니!
이제 전 이 앱 말고도 다른 유료 IAP를 추가할 수 있는 능력을 획득하게 됩니다! + _+

그리고 다시 리뷰요청...
돌아온 답변은 리젝!
아! 왜에!!!! IAP 넣으면 된다며!!!!!!! 절규했습니다만...
애플측 이야기는 IAP를 넣었으면 Only IAP만 된다고! <- 그런말은 없었자나 이 말코녀석아!

IAP를 할 수 있는 뷰에 있던 비트코인과 이더리움 주소가 문제였던것지요. (그걸로 후원금 받을 수 있는 걸 잘아는 우리 리뷰어 ㅠ)
결국 도네이션 뷰에 있던 그 주소들을 걷어내고 리뷰요청...

결과는 성공! 2번의 반려끝에 리뷰가 승인되었죠.
업데이트가 되어 앱스토어에 뿌려지자마자 제 맥에 설치, 이것저것 테스르를 해보는데
응? 다른 맥에서 설정을 변경한 내역이 현재 사용중인 맥에 적용이 되는듯 안되는듯 하는겁니다.

앱을 재시작하면 제대로 적용되고있고, 앱이 실행중일땐 뭔가 반쯤 적용이되는... 이상한 상황이었죠.
다른맥에서 설정을 바꿀때마다 앱을 재시작하면 된다지만, iCoinTicker 앱은 특성상 거의 24시간 돌아가는 앱인걸료?!

원인을 뒤져보니, 아이클라우드 설정이 변경되었다라는 노티에 제 앱이 반응을 하지 않는것. 당연히 값 변경 옵져버를 등록해줘야하는 걸 몰랐던 제 불찰이었습니다. ㅠ
애플 SDK가 너무 불친절해서 그렇다고!!!

v3.0.0은 이미 앱스토어에서 배포되고 있고 이 문제를 빠르게 해결해야하는 상황! 부랴부랴 값 변경시 반응하는 함수를 등록하고 특정값이 변경될 경우 init 을 새로하는 것으로 문제는 해결.

빠르게 v3.1.0 을 리뷰신청. 리뷰신청한지 1시간만에 통과! 응?! (열일하는 애플)
앱 아이콘을 새로 예쁘게 바꾼 v3.1.0 이 배포가 됩니다.

하지만 문제가 있었으니 v3.x 버전은 StoreKit 과 CloudKit 이라는.. 엄청난 샌드박싱이 되어있다보니, 앱스토어 외부에서 다운받게 되면 실행이 안되는겁니다. 크아악!

결국 v3.0.0 은 코드만 커밋을 하고 앱 번들은 GitHub에서 배포를 못하게 되었죠.

icon-256.png

https://github.com/moimz/iCoinTicker/releases/tag/v3.0.0

그래서 현재는 샌드박스를 걷어낸 또다른 버전의 배포준비와, 포트폴리오 기능을 추가하는 v4.0.0 버전을 동시에 개발하고 있어요.
v4.0.0 버전은 아직 개발중이기에 한동안 새로운 에피소드를 올리지는 못하겠네요.

4편까진 몰아서 올렸지만, 다음편은 정말 언제가 될지 모른다는것?! > _<

그럼 언제가 될진 모르겠지만, 다음편에서 만나요! 다음편은 포트폴리오 기능이 추가되는 v4.0.0 이 될지, 아니면 마이너 업데이트 이야기가 될진 모르겠지만요.

다음편에 계속...

시리즈 전체보기

[macOS] iCoinTicker 개발이야기 EP1. 시작
[macOS] iCoinTicker 개발이야기 EP2. 기능고도화
[macOS] iCoinTicker 개발이야기 EP3. 안정화, 그리고 세계로!
[macOS] iCoinTicker 개발이야기 EP4. 첫 메이저 업데이트

iCoinTicker

코빗, 빗썸, 코인원 및 세계 주요 거래소의 가상화폐 시세(비트코인(BTC), 이더리움(ETH), 이더리움클래식(ETC), 리플(XRP) 등)를 macOS의 메뉴바에서 확인할 수 있습니다.

macOS menubar ticker that displays the latest crypto currency(BTC, ETH, ETC, XRP and etc.) of worldwide major markets.
https://itunes.apple.com/kr/app/icointicker/id1248168577?mt=12

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

개발자님 너무 멋집니다. 저도 컴퓨터를 전공하고 있는데 휴학중이라 뭔가 해보고 싶은데 팔로우 하고 가겠습니다 !!

감사합니다! > _<
제 전공분야는 원래 swift 가 아니라, 많이 미흡하지만, 간간히 swift 가 아닌 다른 개발 이야기들도 포스팅해보도록 할게요!

전 정말 코인시장에서 초보중의 초보라 이렇게 개발자들, 전문가분들의 글을 보며 많이 배우고 있습니다.
향후에도 많은 포스팅 기대할게요 ^^

보팅/팔로우 남기고 가요~

댓글 감사합니다.!
앞으로 어떤 개발이야기들이 될진 모르겠지만, 제 전공분야들도 간간히 포스팅하도록 노력해볼께요!
swift 는 전문가라고 하기엔 이제 시작한지 1달도 안되는 언어인지라.. ㅠ _ㅠ
swift 는 많이 포스팅을 못할 것 같네요. OTL

하핫 괜찮습니다~ 저는 올려주시는 글들 아니고서는 접하기 어려운 언어인데요.
차차 올려주시면 저도 차차 보고 배우도록 하겠습니다. ^^

Congratulations @arzzcom! You have completed some achievement on Steemit and have been rewarded with new badge(s) :

You got a First Vote

Click on any badge to view your own Board of Honor on SteemitBoard.
For more information about SteemitBoard, click here

If you no longer want to receive notifications, reply to this comment with the word STOP

By upvoting this notification, you can help all Steemit users. Learn how here!

안녕하세요. 맥에 문외한이라 재밌게 봣네요 ㅎㅎ

좋은 개발기네요.
하... 애플 리뷰 갑질.. 진짜 속터지죠 ㅎㅎ 격공하며 풀보팅 합니다.

리뷰에 대한 에피스도도 급 생각나서 올려보았습니다. > _<
[macOS] iCoinTicker 개발이야기 EP5. 앱 리뷰는 복불복!