아이폰, 아이패드용 앱을 만드는 입장에서 고민이 생겼습니다.
앱이 자신이 설치된 스마트폰의 전화번호를 알아낼 수 있도록 해야하는데 그것을 할 수가 없습니다.
물론, (소위)탈옥을 한다면 가능하다지만 앱을 탈옥한 기기를 대상으로만 한정지어 만들 수는 없는 노릇이구요.
여튼, 그렇게 막는 이유는 '보안'이 그것이라 합니다. (이해가 가고 오긴 합니다.)
"For security reasons, iPhone OS restricts an application (including its preferences and data) to a unique location in the file system. This restriction is part of the security feature known as the application's "sandbox." The sandbox is a set of fine-grained controls limiting an application's access to files, preferences, network resources, hardware, and so on."
The device's phone number is not available within your application's container. You will need to revise your application to read only within your directory container and resubmit your binary to iTunes Connect in order for your application to be reconsidered for the App Store.
<출처> http://stackoverflow.com/questions/193182/programmatically-get-own-phone-number-in-ios
참고로, 안드로이드 폰은 이와 같은 기능이 막혀져 있지 않습니다.
앱이 SMS를 가로채어 그 내용을 보는 기능도 막혀져 있지 않습니다.
즉, 아이폰에서 SMS를 가로채는 기능을 막지 않았다면- 스마트폰의 전화번호 인증에 대해 아래와 같이 해결할 수도 있었을 것입니다.
1. 앱은 사용자에게 스마트폰의 전화번호를 입력해 달라 요청한다.
2. 전화번호가 입력 되면 특정문자를 담은 SMS를 입력된 전화번호로 전송한다.
3. 앱은 수신받은 SMS를 가로채어 해당하는 특정문자가 있으면
송신측 전화번호를 확인하고 인증을 완료한다.
그렇다면, 카카오톡이나 라인 기타등등 '전화번호'를 기반으로 기기를 식별해야 하는 SNS앱들은 아이폰, 아이패드 등등에서 어떻게 하고 있을까요?
예상대로, 앱을 설치할 때 해당기기의 전화번호를 직접 입력하라는 화면이 표시되더군요.
그리고, 해당 전화번호로 인증번호가 담긴 SMS까지 날립니다. 헌데, 소용없습니다.
남의 전화번호를 입력한 후 남의 스마트폰으로 날아온 SMS속 인증번호를 입력하면 인증이 완료됩니다.
허허... 어떻게 해야할까?를 생각하다 나만의 휴대폰 번호 인증 시스템을 생각해 보았습니다.
준비물은 아래와 같습니다.
1. 안드로이드가 탑제된 스마트 폰
2. 문자 무제한 요금제
3. 웹서버
4. 인증을 위한 앱의 개발
그리고 아래와 같이 실물을 상상해 보았습니다.
어떠신가요? 그럴싸-한가요?
물론 '인증을 위한 앱'은 개발을 하셔야 합니다^^;
헌데... 사용자가 늘어난다거나 하면 감당이 안되는 시스템입니다. ㅋ
퍼포먼스의 문제도 있겠지만, 아래와 같은 내용의 기사가 있었다는 것이었던 것이었죠. >.<
'무제한 요금제, 문자500건 넘으면 일시 차단'
<출처> http://finance.daum.net/rich/news/finance/photo/MD20130806162909028.daum
다르게 말하자면 이와 같이 시스템을 구성했을 경우 하루에 500명만 회원으로 받을 수 있습니다. >.<ㅋ개인이 이와 같은 시스템을 구성할라치면 참으로 다양한 제도와 인프라가 이를 막는 듯 하네요.여튼, 가난한 개발자라면 지인의 스마트폰을 빌려 해볼만한 구성이 아니었을까 하는...지지리 구상맞은 디자인을 펼쳐 보았습니다.