[Tip][iOS] Xcode 메모리 릭 탐지

객체가 메모리에서 해제 되기를 기대하는 시점에서 Xcode 하단 (debug area)에 있는 Debug Memory Graph 버튼을 누르면 memory graph를 graph 형태로 볼 수 있다.

debug_memory_graph

Xcode > 하단 > Debug Memory Graph

memory_graph_xcode

내가 만든 객체를 어떤 객체가 참조하고 있는지 시각적으로 보여준다.

Graph를 마우스로 클릭하면 우측 Inspector 에서 객체 정보와, 어떤 함수에서 발생 했는지 자세히 알려준다. call_stack (backtrace)

만약 보이지 않는다면 빌드 & Run 전에 scheme > edit > Diagnostics > Memory Management 에 항목을 추가해야 한다.

edit_scheme

광고

[survey] smule, yokee

Smule

 

* 서비스 명 : Sing!

* 서비스 유형 :  음악 + 소셜네트워크 + 게임

* 수익모델 :

광고, 광고 제거 유료 계정(VIP)

40$ / year : 무제한 노래 저장, free : 100개 한정

 

* 2015 revenue (From sensortower.com)

android : 580k $ =58만 달러

ios : 2.6m $ = 260만 달러

 

318만 달러 :=  약 37억 5천500만원

* 음원 :

음원 이슈를 어떻게 해결 했는지 궁금하군요.

 

* 스토리지 :

회사 인프라 사용하는 것으로 추정…

 

* Smule Total Revenue (매출) :

2011 :    600만 $

2012 : 1200만 $

2013 : 2000만 $

2015 : 3830만 $ = 451.8억

 

* 직원수 :  200

 

* Reference

http://www.smule.com/about

http://www.smule.com/apps

http://www.bloomberg.com/bw/articles/2013-10-10/smule-a-social-network-for-making-music

http://www.forbes.com/companies/smule/

http://www.forbes.com/most-promising-companies/

https://sensortower.com/ios/kr/smule/app/sing-garaoke-jeonsegye-1wi-mobail-falseraebang/509993510

 

 

Yokee™ by Famous Blue Media

 

* 서비스 명 :  yokee

* 국적 : 이스라엘

* 직원수 : 10

* 서비스 유형 : 음악 + 소셜네트워크

 

* 음원 : youtube 컨텐츠 (라이선스 비용 지불을 회피 할 수 있을 것 같습니다)

 

* 스토리지 : youtube

* 2015 매출 : (from sensortower.com)

Yokee 노래방 (10만$ – ios, 2.4만 $-android) =

-> 12.4만$ := 1억 4600만원
* Reference

http://www.yokee.tv/

 

https://www.linkedin.com/profile/view?id=ADEAAAA9mPMBcddVQmvPY2G2pAh1Ubgvmvd6_iQ&authType=name&authToken=pjK8&locale=en_US&srchid=2541043791449727507659&srchindex=4&srchtotal=57&trk=vsrp_people_res_name&trkInfo=VSRPsearchId%3A2541043791449727507659%2CVSRPtargetId%3A4036851%2CVSRPcmpt%3Aprimary%2CVSRPnm%3Afalse%2CauthType%3Aname

 

https://www.crunchbase.com/organization/yokee-by-famous-blue-media

 

https://sensortower.com/ios/kr/famous-blue-media-ltd/app/muryo-falseraebang-yokeewa-hamgge-yutyubeueseo-garaokereul-jeulgiseyo/547109049

https://sensortower.com/ios/kr/famous-blue-media-ltd/app/muryo-falseraebang-yokeewa-hamgge-yutyubeueseo-garaokereul-jeulgiseyo/547109049

 

 

[Swift] Swift Standard Library – Ranges

Numbers and Basic Values

Apple 문서를 참고로 했으며 내가 알지 못하는 모르는 부분에 대해 정리한다.

Ranges
struct Range : A half-open interval over a comparable type, from a lower bound up to, but not including, an upper bound.

struct ClosedRange : An interval over a comparable type, from a lower bound up to, and including, an upper bound.

한국말로 하면 개구간 , 폐구간이다. 한국말 정말 어렵다.

하지만 그림으로 본다면?

스크린샷 2017-10-09 오전 4.58.57

스크린샷 2017-10-09 오전 5.01.26.png

단번에 이해함.
(사실 이미 알고 있는 개념인데 영어로 받아들이는게 아직도 벽이 있다)

스크린샷 2017-10-09 오전 5.04.37.png

무다 무다!

Range

Operator~=(_:_:)

  • Returns a Boolean value indicating whether a value is included in a range.
static func ~=(pattern: Range, value: Bound) -> Bool

코드로 하면 contains와 동일한 기능을 하는 편리한 opeator.

let chosenNumber = 3
if 0..<10 ~= chosenNumber {
print("\(chosenNumber) is a single digit.")
}
// Prints "3 is a single digit."
if (0..<10).contains(chosenNumber) {
print("\(chosenNumber) is a single digit.")
}
// Prints "3 is a single digit."

clamp 영어 의미를 알아야 이해가 쉽다.

(1...7).clamped(to: 3...10)
// 3...7

References