「 IOS 」
May 14, 2018
Words count
3.7k
Reading time
3 mins.
TextView 또는 TextField를 이용해 사용자로부터 텍스트를 입력받는 화면에서는 키보드
가 나타납니다.
키보드
가 나타나면 그만큼 컨텐츠를 보여줄 수 있는 화면의 Height는 줄어들게 되고 그 중 일부는 키보드 밑으로 말려들어가 보이지 않게 되는 문제가 생길 수 있습니다.
따라서 키보드가 나타날 때 아래의 뷰를 키보드 위로 올려주는 구현이 필요합니다.
스토리보드와 오토레이아웃을 사용하면서 iOS 11 이후 등장한 SafeArea
에 대한 대응...
Read article
「 IOS 」
May 13, 2018
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
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
Words count
4.5k
Reading time
4 mins.
모바일 어플리케이션에 광고를 부착할 수 있는 다양한 플랫폼이 있다. 그중에서도 Google의 Admob을 이용한 방법을 소개합니다.
https://www.google.co.kr/admob 구글 애드몹 페이지
구글 계정으로 로그인 할 수 있습니다.
우선 애드몹 페이지에서 광고를 붙일 앱을 설정합니다. 앱 추가
버튼을 통해 추가할 수 있습니다.
광고를 부착할 앱이 기존에 스토어에 등록되어있던 앱인지, 새로 만들 앱인지 선택합니다. 저는 아직 스토어...
Read article
「 IOS 」
May 03, 2018
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
Words count
21k
Reading time
19 mins.
data.go.kr
에서 다양한 공공데이터 정보를 얻을 수 있습니다. 단순 데이터 파일 또는 Open API형태로 제공하고 있어서 이를 이용해 다양한 서비스를 구현할 수 있습니다.
지역 미세먼지 농도, 날씨 예보, 수질 정보 등등 정말 다양한 정보를 얻을 수 있는데요, 스터디용도로 이 API 중 하나를 선택해서 앱을 구현중입니다.
가장 최신으로 등록된 API를 찾아보니 곧 6월 13일 지방선거를 앞두고 선거정보, 후보자 정보 Open API가 추가...
Read article
「 IOS 」
May 01, 2018
Words count
2.3k
Reading time
2 mins.
Objective-C에서 자바의 Reflection 에 해당하는 기능을 Introspection(인트로스펙션) 이라고 합니다.
이 기능들은 <objc/runtime.h>
헤더 파일에 선언되어 있으며, C 함수로 작성되어 있습니다.
사용할 수 있는 메소드는 애플 개발자 센터 가이드에서 확인 가능합니다.
애플 개발자 센터 Runtime 개발 가이드
가이드 문서에서 확인할 수 있듯이 수십여 가지의 메소드로 다양한 인스트로펙션 기능을 제공하고 있...
Read article
「 IOS 」
April 25, 2018
Words count
1.4k
Reading time
1 mins.
싱글톤 패턴은 하나의 프로그램(정확히는 프로세스)에 하나의 인스턴스만을 사용하기 위해 사용한다.
iOS 프로젝트에서는 주로 앱 전반적인 데이터를 저장하고 관리하는 매니저 객체로 많이 사용하게 된다.
C++ 또는 Java 에서도 Singleton 패턴을 많이 사용해왔는데, 보통 Singleton을 아래와 같은 방법으로 만들었을 것이다.
- 생성자를 private 로 만든다
- 내부에 private static 객체를 생성한다
getInstance()
메...
Read article
「 IOS 」
April 18, 2018
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
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
Words count
2.6k
Reading time
2 mins.
iOS 앱을 개발하면서 외부 라이브러리의 필요성을 느끼게 되고, 여러 라이브러리를 사용하다보면 서로 의존성이 꼬이는 문제가 발생할 수 있다.이런 문제를 해결하기 위해 자바에서는 Maven이나 Gradle등의 의존성 관리 툴을 사용한다.
iOS 생태계에도 감사하게 CocoaPods
이라는 의존성 관리 툴이 있다.
CocoaPods
외에도 Carthage
라는 툴이 있지만, 사용해본 적 없고 사용중인 프로젝트를 본적이 아직 없다.
맥 사용자라면 일단 ...
Read article
「 IOS 」
April 15, 2018
Words count
3.1k
Reading time
3 mins.
지난 포스팅 iOS Application 개발 시작하기 - 1 (개발자 등록, 인증서 등록) 에서는 애플 개발자 계정을 만들고 인증서를 등록했다.
이제 앱을 디바이스에서 실행시키기 위해 Provisioning Profile 을 생성하고, Xcode 프로젝트를 생성하는 과정을 다룬다.
앱을 생성하기 위해서 먼저 Apple Developer에서 어떤 앱을 만들건지 App ID를 생성해야 한다.
- App Name : 앱 이름 ex) YourName
...
Read article