[iOS]개발하다보면 무진장 귀찮은 keyboard show/hide iOS

⌨ 

키보드가 나타나고 사라지는걸 처리하는게 여간 귀찮은게 아니다. 

스크롤뷰,테이블뷰같은 scrollable 한 애들 안에 textfield가 존재하면, 

스크롤뷰가 최하단이 가려지지 않도록 scrollview의 bottom을 키보드 높이에 맞춰 올려줘야한다. 

NSNotification.Name.UIKeyboardWillShow
NSNotification.Name.UIKeyboardWillHide

그걸 위해서 위의 두 notification을 viewcontroller에 등록해서
scrollview의 bounds를 조절하거나, scrollview의 bottom autolayout constraint의 constant의 값을 조절한다. 

나는 autolayout을 자주 사용하는 편이고, scrollview의 하단 bottom contraint를 

근데 그걸 viewcontroller마다 넣어줘야하는게 엄청 귀찮다는 말이지...


그 귀찮음을 해결해줄 오픈소스를 깃헙에서 발견했다. (MIT 감사합니다 MIT 라이센스 ㅠㅠ)

코드는 매우 간단하다. 
NSLayoutConstraint 를 상속해서 내부에서 show/hide를 처리해준다.
주의할점은 constant를 +하기 때문에 first item과 second item이 무엇이냐에 따라 변하는게 달라진다. 
뭐 직접 실행하고 돌려보며 적용하면 간단한거니. 

safe area 때문에 코드 수정이 필요한 부분도 있긴 한데, 이 난해한 글로 이해하셨다면 그정도는 잘 하실거라 생각한다. 

xib에서 custom class를 변경하는게 가장 간편하고, xib를 안쓴다면.. snapkit에는 이걸 어떻게 써야하나..

음 그건 알아서 잘 적용하시길.. 😁



[iOS]In app purchase 개발 주절주절(3) iOS

IAP, in app purchase로 수익을 얻으려는 회사로 이직했다.

아직 서비스 전인데, 개발하며 알게 된 몇가지 사실을 주절거려본다. 

1. 법인사업자이고, 개발자계정도 법인계정으로 만들어서 앱내결제 시작이 아주 수월하다.
In App Purchase 개발 주절주절 참고.
(애플 개객끼.. ㅠㅠ)


2. Apple 인앱결제는 소모성,비소모성,비정기구독,정기구독 4가지가 있다. 
기본적으로 applestoreconnect에 접속해서 만든다. 

2-1. 보석1개, 보석10개의 아이템을 만들려고 한다면, 각각을 상품으로 만들어야한다. 
정기구독은 조금 다르다. 일반(1000원),프리미엄(5000원), 슈퍼프리미엄(10000원) 뭐 이런 식으로 만들 수 있다. 
이중 하나만 선택해서 구독하게 된다. 
그럼 정기구독을 여러개할 순 없을까? 그러려면 [구독그룹] 이라는걸 추가해서 만들어야한다. 
그럼
A상품 구독그룹 일반(1000원),프리미엄(5000원), 슈퍼프리미엄(10000원)
B상품
 구독그룹 일반(1000원),프리미엄(5000원), 슈퍼프리미엄(10000원)
이렇게 2개의 구독그룹과 각각의 상품을 3개씩 총 6개를 만든다. 
이렇게 만들어서 각각을 구독하게 할 수 있다.  

2-2. 그럼 인앱결제 상품이 무한정 많이 있다면 어떻게 만들 것인가. 
제일 큰 문제는, 인앱결제 상품을 만들면 해당 상품을 팔기 위해 심사를 받아야 팔 수 있다는 것이다. 

2-3. itms transporter라는게 있다. 이걸 사용하면 iap 상품 리스트를 가져오고 수정할 수 있다. 
XML형식에 맞춰서 ipa파일을 업로드할 때 같이 올릴 수 있다고 설명되어있다.
이걸 가지고 빌드파일 심사제출 할 때 추가/수정된 IAP 상품들을 함께 올리고 심사받을 수 있다.


3. 이걸 파악하게 된 경위는..

3-1. 유튜브에 채널 구독 기능이 있다. 
유튜브 프리미엄을 넘어서 한 채널을 유료로 구독하고, 채널 관리자들은 유료구독자를 위해서 따로 컨텐츠를 보여주게끔 할 수 있다. 일반 광고 붙는 것보다 허들이 좀 더 높다)

3-2. 그전까진 이게 인앱결제로 불가능할거라고 생각했다. 
그런데 몇몇 채널에서 이걸 인앱결제로 가능하게 버튼을 보여주고 있다. 
구독자 100만 넘는 채널들 기준으로 보여지는게 있고, 안보여지고 있는게 있는듯 하다. 


4. 위의 정보들을 종합해봤을때, 구글은, 유튜브는 해당 채널들에 유료구독기능을 위해 채널별 정기구독 아이템을 만들어주고 있는듯 하다. 

4-1. 유료구독의 레벨은 최대 5개를 지정할 수 있다고 한다.
근데, 레벨별로 가격을 선택하는 가격테이블은 50개라고 한다.
그럼 채널에서 레벨을 선택할때 IAP 상품을 만들까? 아니다. 가격테이블 50개를 만들어놓는거라고 본다. 
채널에서 유료구독 서비스를 사용하는 채널이나, 유료구독이 가능한 채널들의 인앱상품을 계속적으로 만들고 있는 것이다. 
매 업데이트마다. 채널별로 50개씩. 

4-2 인앱결제와 transporter 애플 문서를 정확히 파악한거라면 2000개의 상품을 itms transporter를 통해 생성할 수 있다고 한다.
나누기 50하면.. 40. 유튜브가 매주 업데이트할때마다 상품을 추가한다고 가정하며 매주 40개의 유료구독 채널의 인앱결제상품이 생성되고 있다. 


5. 안드로이드는 Google페이를 사용해서 좀 더 쉽게 하는듯 하다. 
어이. 니네도 외부 결제 막는다던데 Google페이는 되는거냐? 


6. 김에 구글플레이스토어 구독 IAP도 찾아보려고 했는데 그걸로 정기구독을 만들어놓은 앱을 모르겠다. 
수수료 30프로인데, 많아야 수수료 5%내는 국내 pg사들로 안하고 굳이 그걸로 서비스를 만들려는 회사가 있을리가. 

6-1. google pay는 수수료 없다더라. 



역사학자 필립 조웰 찾기. ETC

역사학자 필립 조웰 曰 "일본군의 만주 점령 기간 동안 간도특설대는 잔악한 악명을 얻었으며, 그들이 통치하는 광범위한 지역을 황폐화시켰다."

간도특설대 이야기 나올때 꽤 많이 언급되는 역사학자. 풀네임은 philip jowett 인듯하다. 한국어로 바꾸면 필립 조웻 정도?1

아시아 관련 역사학자인듯 하고, 아시아에서 일어난 전쟁들 관련해서 저서가 있다.

아마존 찾아보면 저서가 꽤 나온다.

https://en.wikipedia.org/wiki/Gando_Special_Force


위키피디아에서 간도특설대를 찾았다. 위 문장의 영어 원문도 나와있다.

Historian Philip Jowett noted that during the Japanese occupation of Manchuria, the Gando Special Force "earned a reputation for brutality and was reported to have laid waste to large areas which came under its rule."


그 내용이 나온 필립 조웰, 필립 조웻의 저서는 바로 이거.


Philip S. Jowett (2004). Rays of the Rising Sun. West Midlands: Helion & Company Limited.


더 많은 관련 내용도 이 책에 있지 않을까 싶은데, 사서 확인할 의지까진 없으니 아마존 링크까지만.

https://www.amazon.com/Rising-Sun-War-1931-1945-Photographs/dp/1473874882/ref=sr_1_11?dchild=1&qid=1597335468&refinements=p_27%3APhilip+Jowett&s=books&sr=1-11


아무튼 백선엽은 얼른 무덤에서 파내야한다는거.


[iOS]In app purchase 개발 주절주절(2) iOS

1. 앱 내 결제를 위해 한국에선 사업자 등록을 해야한다.
(애플 xx끼) 

1-1. 사업자등록을 하지 않으면 테스트조차 못한다. 계약,세금,금융거래 계약시 유료계약을 진행할 수 없어서.
(애플 xx끼 22222)

2. 유료 앱 등록 시 [이용약관][개인정보처리방침]이 앱 내에 필요하다. 
정통부에서 공유한 [디지털 컨텐츠 표준약관]을 그대로 복붙했는데, 이에 대한 심사 결과는 나중에. (오늘 심사제출)

3. 자동갱신 구독 IAP는 1개월씩 하면 갱신주기가 엄청 짧다. 잠깐 딴생각하면 구독 갱신이 끝나있다. 
개발 시 조심.

4.유료결제는 서버가 있어야하는게 맞는듯. 
서버없는 앱을 만들어보고 싶어서 진행하는거라.. 사용하게 되면 파이어베이스를 이용하지 않을까 싶다. 
(그것도 서버라면 서버인가.)

5. openssl은 무섭다. 

[iOS]In app purchase 개발 주절주절. iOS

작년 중순쯤 IAP 서비스 개발을 시작했다. 

그때까지는 좋았다. 

유료결제를 위해 은행도 등록하고, 
appstoreconnect에 앱내구입 아이템도 추가하고,
SKP framework를 실행해서 리스트 받아오는 것도 확인하고.

그때 재빨리 개발을 해버렸어야 했던 거였는데.

그 사이, 작년 말쯤 한국 개발자계정은 사업자등록이 필수가 되었다는 소식을 들었다. 

어쩌나 싶었지만, 크게 달라지는건 없을줄 알았는데....

SKP 에서 앱내구입 product 리스트를 못받아오는 것. 

일주일(하루에 한두시간씩)을 삽질했다. 

그러다 생각난게, 사업자등록번호를 입력 안해서인거 아닐까? 라는 생각.

그래서 hometax를 통해 사업자등록을 했다. 
이건 구글검색하면 많이 나오니 패스.

사업자등록은 의외로 빨랐다. 
토요일 오전 10시쯤 신청한게 그날 오후 3시쯤 통과되었다. 올~ IT강국.

세금양식에 사업자번호를 입력하고 제출. 
대기.
이때까진 안됐고, 저녁먹고 다시 확인하니 유료앱 계약이 '활성' 상태가 되었고,

SKP framework를 통한 product 호출도 가능해졌다.


한줄 결론. 애플 이 ㄱㄱㄲ들아 ㅠㅠ

1 2 3 4 5 6 7 8 9 10 다음


adsence 160x600