[iOS] #error 전처리기

iOS 2011.03.09 14:44
샘플 코드를 작성하다보면 사용자가 자신의 환경과 목적에 맞게 값을 변경해주어야 하는 부분이 있다.
Open API 를 연동하는 샘플 코드를 작성할 경우가 그렇다.
이부분에 당신의 API KEY를 넣으세요~ 라고 알려주고 싶지만, 항상 시간의 쫒기는 개발자들은 문서를 꼼꼼히 살펴보지 않는다.
이럴땐 #error 전처리기를 사용해보자.

#error 코멘트 블라블라
#defind API_KEY @"insert your api key";

이렇게 해놓으면 빌드시에 #error 부분에서 에러가 발생한다.
아무리 시간없는 개발자라도 에러코드는 읽어보지 않겠는가?
Posted by 지오아빠^^

댓글을 달아 주세요

APNS를 추가하기 위해서 registerForRemoteNotificationTypes 를 호출하게 되면 APNS 사용 동의 여부를 묻는 Alert이 뜬다.
개발을 하다보면 앱을 삭제하고 다시 인스톨하기를 무수히 반복하게 되는데 이런 경우 APNS동의 Alert은 최초 registerForRemoteNotificationTypes 호출시에만 Alert을 보여주고 이후에는 앱을 삭제후 재설치했더라도 Alert을 띄우지 않는다.

이런 현상때문에 테스터들로 부터 빈번히 이런 질문을 받게된다. 
"왜 동의 메세지 창이 뜨지않죠?"

대부분은 자신도 명확한 이유를 알지 못하기 때문에 이렇게 답한다.
"동의했던 앱을 캐싱해서 그래요~"

뭐.. 맞는 이야기다. 하지만 좀더 정확히 알고 가고 싶다면 아래 문서를 참고하자.

Resetting the Push Notifications Permissions Alert 부분을 읽어보면 명확한 답이 나와있다.
언제나 그렇듯 Apple의 문서만한 자료는 없는 것 같다.
Posted by 지오아빠^^
TAG APNS, ios

댓글을 달아 주세요

iOS 3.x 까지는 아래의 방법으로 가져올 수 있었다.

NSString *phoneNumber = [[NSUserDefaults standardUserDefaults] stringForKey:@"SBFormattedPhoneNumber"];


하지만 iOS4.0 이상에서는 동작하지 않는다.

여기저기서 자료를 찾아본 결과 iOS 3.x에서 지원을 했던 것도 공식적으로 지원했던 것이 아니거니와 iOS 4.0이상에서는 더이상 지원하지 않는다고 한다. 이유는 당연히 개인정보 보호차원이다.


결론은 iOS에서는 전화번호를 가져오는 것이 불가능하다!!


Posted by 지오아빠^^

댓글을 달아 주세요