(https://apps.apple.com/us/app/emojibox-face-sticker/id1624326541)
이번 업데이트는 이모지박스의 첫 메이저 업데이트였고, 아래의 기능을 추가했다.
Metal을 활용한 그래픽 라이브러리 (https://github.com/MetalPetal/MetalPetal)을 사용해서 모자이크, 블러 처리를 추가했다. 기존 이모지박스가 이모지로 얼굴을 감추는 기능을 제공하고 있었지만, 이모지는 좀 가벼운 느낌때문에 진지하게 쓸 경우에는 맞지 않다는 요청이 있어서 이를 반영했다. (사실 처음부터 하고 싶었지만 시간이 없었다 ㅠ)
아무튼 OpenGL을 가볍게 사용한적은 있었지만 혼자서 제대로 쓰려니 어려웠다. 다행히 MetalPetal 라이브러리가 워낙 잘 만들어져있어서 예제를 참고하면서 며칠 낑낑대고는 잘 해결할 수 있었다.
특별 할인을 통해 판매를 촉진해보고자 처음 넣은 기능으로, 기존 인앱 상품에 추가로 할인 상품을 만들어서 특정한 기간에만 원래 상품대신 할인 상품을 노출해서 특별 세일을 하였다. (이번에는 블랙프라이데이 세일!)
다행히 인앱 상품을 추가하고, 기존 상품을 감춘다던가 하는걸로는 리젝이 되지 않고 한방에 앱 심사에 통과할 수 있었다. Special Offer 기능은 서버가 없는 우리 앱이지만 Public iCloud 를 이용해 상품 노출여부를 처리할 수 이었다.
이번 버전 개발이 거의 끝나갈 시점에 (https://eunjin3786.tistory.com/559) 링크의 글을 읽었다. 덕분에 SwiftUI View의 redraw 타이밍을 좀 더 잘 알 수 있었고, 귀찮아서 Extract 처리하지 않고 내부에서 함수 추출해놓았던 것을 struct extract 처리를 좀 더 해서 효율적으로 앱 redraw 가 가능하게 수정했다.
끝.