본문 바로가기
반응형

IOS47

Objective-C 프로토콜 정의 Objective-C 프로토콜 정의 아이폰앱 개발하면서 가장 유용하게 사용하는 것 중 하나가 바로 '프로토콜'이 아닌가 싶다. delegate를 통한 대리자에게 처리를 넘기는 방식인데 잘 만들어 두면 재미가 쏠쏠하다. '프로토콜 정의' 는 메서드만 정의하는 즉, 인터페이스를 정의하는 기능이고 이 인터페이스를 구현하는 쪽은 프로토콜을 따르는 쪽에서 구현해서 처리를 하면 된다. 프로토콜의 메서드는 @required와 @optional 이 있고, 프로토콜을 따른다고 선언한 곳에서는 @required로 선언된 메서드는 반드시 구현을 해야만 한다고 알고 있다. ㅎ 프로토콜이 클래스와 다른 점은 클래스는 하나의 틀이 되고 프로토콜은 틀이 아닌 일련의 메서드를 선언한다는 점이 다르다. 정의 하는 방법은 다음과 같다... 2017. 11. 1.
ios convert hex string to decimal ios convert hex string to decimal 이 포스팅은 제목과 같다. 회사 일을 하면서 iOS의 Core Bluetooth Framework를 이용한 BLE 서비스 데이터를 수신, 처리하는 앱을 만들고 있는데 BLE기기로부터 수신한 서비스데이터는 Hex(16진수) 값, 이 값을 일반 10진수(숫자)로 변경을 하는 로직이 필요해서 찾아보니 괜찮은 자료가 있어 정리를 해 두는 것이다. 수학에 워낙 자신이 없는 관계로 수학적 용어들이 나오면 긴장부터 하는 버릇이 있다. 차근 차근 문제를 인지하고 하나씩 풀어나가는 지혜가 필요하다. 제시된 예시의 Hexadecimal 값은 다음과 같다. 0x3ADE68B1 0x는 옵셔널이고 3ADE68B1은 십진수로 변환하면 987654321 이 된다. uns.. 2017. 10. 31.
iOS 화면 밝기 조정 방법 iOS 화면 밝기 조정 방법 보통 간편결제시에 편의점에서 읽어 들이는 바코드의 경우 화면의 밝기가 가장 밝은 상태로 되었다가 바코드를 스캔하고 난 뒤에는 다시 원상 복귀를 하는 걸 보신 분들이 있을 것 같습니다. 뭐 특이한 기능은 아닌데 아직까지 제가 해보지 않았던 기능이고 이미 구현된 소스가 있어 약간 가공을 해서 공통 유틸리티로 뽑아서 잘 사용하고 있습니다. iOS SDK의 UIScreen 클래스에 있는 프로퍼티를 설정하면 되는 간단한 기능입니다. /** * 스크린의 밝기를 최대로 */ + (void)setScreenLightMax { UIScreen *screen = [UIScreen mainScreen]; NSUserDefaults *defs = [NSUserDefaults standardUser.. 2017. 9. 27.
iOS MP3파일 재생 방법 (AVAudioPlayer) iOS MP3파일 재생 방법 (AVAudioPlayer) 어제 퇴근시간이 다다랐을 무렵, 갑자기 데모 앱에 음성 안내를 넣자는 제안이 들어왔습니다. 헉! 이건 또 무슨 소리야? 했는데 음성메시지로 만들고 싶은 텍스트를 입력하면 wma파일로 만들어주는 앱이 이미 있다면서 wma파일을 하나 만들어서 주는 바람에 넣지 않겠다고 할 수 없는 상황이라 부랴 부랴 프레임워크를 추가하고 간다하게 코드를 추가 하게 되었습니다. 카톡방 친구들 도움을 받아 순식간에 처리하게 되었는데 초 간단 MP3파일 재생 방법을 정리 해보겠습니다. 우선 .wma파일을 mp3로 변환이 필요했습니다. 다음 사이트에서 무료로 변환이 가능해서 급하게 처리를 하게 되었습니다. WMA TO MP3 -> https://convertio.co/kr/.. 2017. 8. 3.
Xcode8 iOS Framework 만들고 배포하기 Xcode8.3.3 버전과 iOS10.3이상에서 프레임워크(framework)를 만드는 과정에 대해 정리하는 포스팅이다. 어차피 문서화도 필요한 부분이라 인터넷 블로그를 통해 학습을 하고 실무 적용 과정을 나열한다. 사용하는 언어는 Objective-C로 한다. 1. framework를 개발하기 편하도록 하나의 작업 그룹을 만든다. Xcode > File > New > Workspace 를 선택하고 프레임워크명과 같은 workspace를 만든다. 저장위치는 임의 폴더(UBPayFrameworkProject)를 선택하고 workspace명은 UBPayFramework.xcworkspace로 생성을 하였다. 2. framework를 위한 프로젝트를 생성한다. Xcode > File > New > Projec.. 2017. 7. 17.
iOS 랜덤숫자와 객체 비교 예제 (arc4random(), indexOfObject) 작년 프로젝트를 진행하면서 만들었던 코드인데 재미 삼아 올려 둔다. 당시 상황은 다음과 같다. 앱내에서 그룹을 만들 때 그룹별 색상을 지정하기 특정 숫자를 고유하게 뽑아내기 위한 소스. 이미 사용중인 그룹의 색상 코드(숫자)는 빼고 사용자가 선택할 4개의 컬러를 보여주기를 요구하였다. do while문을 사용하였고 arc4random()함수를 사용하였다. 객체를 비교할 때는 indexOfObject()를 사용해서 찾는 방식으로 구성했는데 당시 오~ 제법 깔끔한데? 하면서 뿌듯해 했던 코드. ㅋㅋ NSInteger _cnt = 0; do { NSInteger rNum = arc4random()%9+1; NSUInteger idx = [_myGroupColors indexOfObject:[NSString s.. 2017. 7. 5.
반응형