「 IOS 」 May 14, 2018

Storyboard autolayout 환경에서 Keyboard Event로 Height 처리하기

Words count 3.7k Reading time 3 mins.

TextView 또는 TextField를 이용해 사용자로부터 텍스트를 입력받는 화면에서는 키보드가 나타납니다.
키보드가 나타나면 그만큼 컨텐츠를 보여줄 수 있는 화면의 Height는...

Read article

「 IOS 」 May 14, 2018

Storyboard autolayout 환경에서 Keyboard Event로 Height 처리하기

Words count 3.7k Reading time 3 mins.

TextView 또는 TextField를 이용해 사용자로부터 텍스트를 입력받는 화면에서는 키보드가 나타납니다.
키보드가 나타나면 그만큼 컨텐츠를 보여줄 수 있는 화면의 Height는 줄어들게 되고 그 중 일부는 키보드 밑으로 말려들어가 보이지 않게 되는 문제가 생길 수 있습니다.
따라서 키보드가 나타날 때 아래의 뷰를 키보드 위로 올려주는 구현이 필요합니다.

스토리보드와 오토레이아웃을 사용하면서 iOS 11 이후 등장한 SafeArea에 대한 대응...

Read article

「 IOS 」 May 13, 2018

[Swift] Date to String, Date <=> String 객체간 변환

Words count 1.2k Reading time 1 mins.

Date와 String의 변환은 매우 자주 사용하면서도 할 때마다 뭐였지 하고 다시 찾아보곤 합니다.
또 Obj-C만 사용하다가 Swift로 넘어오면서 한번 정리하고 갑니다. 참고로 swift4 입니다


let dateString:String = "2018-05-13 15:05:40"

let dateFormatter = DateFormatter()

dateFormatter.dateFormat = "yyyy-MM-dd HH...
Read article

「 IOS 」 May 12, 2018

[Swift] Optional이란? 옵셔널 이해하기

Words count 3.7k Reading time 3 mins.

Swift가 갖는 Optional이라는 개념은 변수의 값이 nil일 수 있다는 것을 표현하는 건데요, 반대로 Optional이 아니라면(non-optional) 해당 값은 nil이 될 수 없음을 의미합니다. Objective-C를 사용해왔다면 Optional이라는 표현이 너무나도 당연해보일 수 있지만, Swift에서는 Optional은 말 그대로 옵션(선택적) 이며 기본값은 non-Optional 입니다.

Optional 변수의 선언은 ? 키워...

Read article

「 IOS 」 May 06, 2018

iOS 앱에서 광고 수익 얻기 (Admob 애드몹 설치, 부착, 예제)

Words count 4.5k Reading time 4 mins.

모바일 어플리케이션에 광고를 부착할 수 있는 다양한 플랫폼이 있다. 그중에서도 Google의 Admob을 이용한 방법을 소개합니다.

https://www.google.co.kr/admob 구글 애드몹 페이지

구글 계정으로 로그인 할 수 있습니다.

우선 애드몹 페이지에서 광고를 붙일 앱을 설정합니다. 앱 추가 버튼을 통해 추가할 수 있습니다.


광고를 부착할 앱이 기존에 스토어에 등록되어있던 앱인지, 새로 만들 앱인지 선택합니다. 저는 아직 스토어...

Read article

「 IOS 」 May 03, 2018

Interface Builder IBOutlet연결에 Strong과 Weak 어떤것을 써야할까?

Words count 4.5k Reading time 4 mins.

Interface Builder를 사용하는 프로젝트에서 View를 코드상에서 제어하기 위해 IBOutlet으로 스토리보드 <-> 코드 를 연결하게 됩니다.
Ctrl키를 누르고 View를 .m 또는 .h 파일로 가져오면 다음과 같이 IBOutlet 연결 팝업이 뜹니다.

여기에서 아마도 Property명 또는 Action명을 입력 후 Connect 버튼을 눌러 커넥션을 생성하셨을텐데요.
혹시, 아래쪽의 Storage 영역을 확인해보신적이 있으신가요?

아마도...

Read article

「 IOS 」 May 01, 2018

[Objective-C] NSXMLParser로 XML Object Mapper 구현하기 (공공데이터 Response 파싱하기)

Words count 21k Reading time 19 mins.

data.go.kr에서 다양한 공공데이터 정보를 얻을 수 있습니다. 단순 데이터 파일 또는 Open API형태로 제공하고 있어서 이를 이용해 다양한 서비스를 구현할 수 있습니다.
지역 미세먼지 농도, 날씨 예보, 수질 정보 등등 정말 다양한 정보를 얻을 수 있는데요, 스터디용도로 이 API 중 하나를 선택해서 앱을 구현중입니다.

가장 최신으로 등록된 API를 찾아보니 곧 6월 13일 지방선거를 앞두고 선거정보, 후보자 정보 Open API가 추가...

Read article

「 IOS 」 May 01, 2018

[Objective-C] reflection(리플렉션), Introspection(인트로스펙션) Runtime 메소드 사용하기

Words count 2.3k Reading time 2 mins.

Objective-C에서 자바의 Reflection 에 해당하는 기능을 Introspection(인트로스펙션) 이라고 합니다.
이 기능들은 <objc/runtime.h> 헤더 파일에 선언되어 있으며, C 함수로 작성되어 있습니다.

사용할 수 있는 메소드는 애플 개발자 센터 가이드에서 확인 가능합니다.
애플 개발자 센터 Runtime 개발 가이드
가이드 문서에서 확인할 수 있듯이 수십여 가지의 메소드로 다양한 인스트로펙션 기능을 제공하고 있...

Read article

「 IOS 」 April 25, 2018

[Objective-C] GCD를 이용한 싱글톤 객체 생성하기

Words count 1.4k Reading time 1 mins.

싱글톤 패턴은 하나의 프로그램(정확히는 프로세스)에 하나의 인스턴스만을 사용하기 위해 사용한다.
iOS 프로젝트에서는 주로 앱 전반적인 데이터를 저장하고 관리하는 매니저 객체로 많이 사용하게 된다.

C++ 또는 Java 에서도 Singleton 패턴을 많이 사용해왔는데, 보통 Singleton을 아래와 같은 방법으로 만들었을 것이다.

  • 생성자를 private 로 만든다
  • 내부에 private static 객체를 생성한다
  • getInstance() 메...
Read article

「 IOS 」 April 18, 2018

[Swift] 열거형 Enum 사용하기

Words count 3.4k Reading time 3 mins.

enum의 선언은 enum 키워드로 합니다.

enum Languaegs : String {
    case Korean = "KR"
    case Japanese = "JP"
}

위 예시 하나로도 Obj-C의 Enum과의 많은 차이점을 느낄 수 있습니다.

Enum에 String을 넣을 수 있다니!!
Obj-C 에서 Enum을 NSString에 매핑하기 위해 얼마나 많은 노오오력이 필요했던가!

사용 예시 1) 서버에서 String...

Read article

「 IOS 」 April 16, 2018

CocoaPods 똑똑하게 사용하기 (명령어, 사용 예시 소개)

Words count 3.3k Reading time 3 mins.

iOS 프로젝트에서 CocoaPods을 사용하지 않은 프로젝트를 보기 힘들정도로 대부분의 iOS 프로젝트가 CocoaPods를 사용한다.

프로젝트 다운받고 -> `Pod install` -> 앱 실행

너무나도 익숙한 Flow지만 막상 다른 명령어는 뭐가 있는지, Pod install과 Pod update의 차이를 정확하게 이해하고 사용하고 있지 않다.

이번 기회에 CocoaPods 을 정확히 이해하고 사용해보자.

Pod install...

Read article

「 IOS 」 April 16, 2018

iOS 프로젝트에 cocoapods 적용하기

Words count 2.6k Reading time 2 mins.

iOS 앱을 개발하면서 외부 라이브러리의 필요성을 느끼게 되고, 여러 라이브러리를 사용하다보면 서로 의존성이 꼬이는 문제가 발생할 수 있다.이런 문제를 해결하기 위해 자바에서는 Maven이나 Gradle등의 의존성 관리 툴을 사용한다.
iOS 생태계에도 감사하게 CocoaPods이라는 의존성 관리 툴이 있다.

CocoaPods 외에도 Carthage 라는 툴이 있지만, 사용해본 적 없고 사용중인 프로젝트를 본적이 아직 없다.

맥 사용자라면 일단 ...

Read article

「 IOS 」 April 15, 2018

iOS Application 개발 시작하기 - 2 (프로비저닝 생성, XCode 프로젝트 설정)

Words count 3.1k Reading time 3 mins.

지난 포스팅 iOS Application 개발 시작하기 - 1 (개발자 등록, 인증서 등록) 에서는 애플 개발자 계정을 만들고 인증서를 등록했다.

이제 앱을 디바이스에서 실행시키기 위해 Provisioning Profile 을 생성하고, Xcode 프로젝트를 생성하는 과정을 다룬다.

앱을 생성하기 위해서 먼저 Apple Developer에서 어떤 앱을 만들건지 App ID를 생성해야 한다.

  • App Name : 앱 이름 ex) YourName
  • ...
Read article

「 IOS 」 April 15, 2018

iOS Application 개발 시작하기 - 1 (개발자 등록, 인증서 등록)

Words count 3.5k Reading time 3 mins.

iOS앱을 개발하고 AppStore에 등록, 판매하기 위해서 Apple에 개발자 계정을 등록해야 한다. 애플 개발자 계정은 1년에 약 한화로 10만원 정도 된다. Google에 비하면 정말 비싼가격이지만…! iOS 개발자가 개발자 계정 없이 먹고 살 수 없으니 등록하자!

준비물은 약 10만원 정도가 든 카드와, Apple 계정이다

https://developer.apple.com/kr/support/development/

우측 상단의 Account...

Read article
0%