전체보기 238

[iOS] Notification Action : Interactive Notification in iOS8

iOS8에서 추가된 새로운 기능 중에 알림에 대해 사용자가 즉각적으로 처리할 수 있도록 해주는 강력한 기능이 추가됬다. 'Interactive Notification'이라고 소개된 이 기능은 알림이 왔을 때, 사용자가 알림 창을 살짤 내리면 알림에 대한 처리가 바로 가능하다. 이는 아이폰의 상태바 알림 창 뿐만아니라 잠금 화면에서도 활용 가능하여 사용자의 편의를 극대화 시켜주는 기능이다. 개발할 때, 'notification action'으로 검색해보면 쉽게 찾을 수 있다. notification action을 구현하기 위해선 action을 UIUserNotificationAction을 이용하여 객체를 정의한다. 정의된 action을 UIUserNotificationCategory로 묶은 다음 'regi..

[iOS] App Extension : Today view (Widget)

iOS8에서 새롭게 제공하는 기능 중에 하나이다. 기존 안드로이드에서 이미 제공한 기능이다. iOS8에서 새롭게 추가되면서 더욱 편리한 기능을 제공할 것으로 생각된다. 현재(2014.09.18) iOS8이 정식 릴리즈된 시점에서 필자가 사용하는 앱 중에 에버노트와 드롭박스는 발 빠르게 이 기능을 대처하고 있다. 이제 iOS8 위젯 기능을 사용하기 위한 과정을 알아보자. 먼저, 나의 앱 프로젝트에 App Extension(이하 'AE')을 추가한다. AE는 호스트 앱이 구현하고 호스트 앱에 AE를 추가 구현하는 형태로 개발한다. AE는 다른 앱들에서 사용할 수 있다. 호스트 앱에는 AE에서 사용하는 설정이나 정보를 처리하는 기능들을 얻도록 한다. 현재 Xcode 6에서는 아래와 같이 iOS에서 사용 가능한..

[Swift] 알면 좋은 Array에서 제공하는 함수 (map, filter, reduce)

Mapmap은 각 element를 순회하면서 element를 수정할 때 사용하기 좋은 함수이다. 예를 들어 우리는 각 String에 "box"라는 String을 덧붙이기 위하여 for-in을 떠올리기 쉽다. ex) for string in strArray {string += "box"} 대신에 map 함수를 사용하면 한줄로 간단하게 작성할 수 있다. ex)var resultArray = strArray.map({$0+"box"}) 참고로 map의 param 함수 타입은 '(T) -> U'이다. map 함수는 Array의 각 element를 순회하면서 개발자가 정의한 동작을 수행하게 된다. Filterfilter는 말 그대로 특정 조건을 통과한 element들을 모아서 Array로 반환하는 함수 이다. f..

[iOS] iOS에서 Cloud 활용 (Cloud Kit 요약 정리)

Cloud Kit CKContainer : 앱의 public/private 컨텐츠를 캡슐화한 객체이다.CKDataBase : 앱 컨테이너에 담긴 public/private 데이터들에게 접근하기 위한 통로이다.CKRecord : record의 컨텐츠를 관리하기 위한 인터페이스 Record는 key-value pair로 key는 레코드에서 field 값에 해당한다. 각 field의 값은 string, number, date뿐만 아니라 파일, 데이터 블록 그리고 다른 Record와 관계를 맺기 위해 다른 Record의 reference도 넣을 수 있다. CloudKit은 container들을 이용하여 데이터를 구성한다. 각 container별로 entitlement가 필요하고 런타임에서 CKContainer ..

[Xcode] New Features in Xcode 6

SwiftSwift는 iOS/OS X개발을 위한 새로운 객체지향 언어이다. Fast. 앱을 만들기 위한 LLVM의 향상된 코드 분석을 통한 컴파일과 최적화를 제공한다.Complete platform. Swift를 통해 모든 cocoa/cocoa touch를 사용 가능하다.Safe by design. 버그, 크래쉬, 보안 취약점 등을 사전에 예방할 수 있다.Modern 코드의 양을 줄이고 헤더파일을 제거 했으며 Modern 프로그래밍 언어의 특징을 수용했다.Interactive. Swift를 통해 즉각적인 결과물을 시험이 가능하다.Unified. C와 objective-C를 완전히 대체할 수 있는 언어이다.see The Swift Programming Language Swift 관련 포스팅[Swift] S..

Programming/Tool 2014.08.28

[Swift] Swift Study 3주차 요약 (ARC, Extension, Generics, Operators ... etc)

Deinitializer리소스를 가지고 작업을 하다가 이를 정리하기 위한 작업을 정의 하려면 Deinitialization을 이용한다. 'deinit'은 객체가 deallocation이 되기 전에 호출하기 때문에 객체의 모든 property에 접근이 가능하다. ex)deinit { // perform the deinitialization} Automatic Reference Counting (memory management)Automatic Reference Counting(이하 'ARC')는 각 객체를 가리키는 refenece의 개수를 세는 것을 의미한다. 해당 객체를 가리키는 refenece의 개수가 '0'이 되면 객체를 해제한다. ARC는 이와 같은 방식으로 Mac/iOS 내에서의 memory 관리..

[iPhone] 긴급 재난문자 방송 수신 설정

요즘 비도 많이 오고 하니 호우 주의보에 민방위 훈련 등 소방방재청에서 재난문자 송신을 자주 하는 편이다 시도때도 없이 울리는 재난 문자에 괴로워 하시는 분들은 아래와 같은 방법으로 재난문자 수신을 꺼주면 된다. 먼저, 설정으로 들어간다. 아래와 같은 화면이 뜨면 '알림센터'로 들어가자. 알림센터로 들어간 다음에 제일 아래로 화면을 스크롤 하자 그러면 우리가 그토록 끄기를 염원하던 '재난문자 방송'의 수신설정이 나온다. 이를 꺼주도록 하자. 그러면 앞으로 '삐~~~~~~~'하면서 시도 때도 없이 울리던 소방방재청의 문자를 알림을 안 받는다. 다시 한번 정리하면 '설정 -> 알림센터 -> 재난문자 방송 (수신설정 끄기)'를 해주면 된다. 조용하고 즐거운 하루 보내기를 바란다.

Tips/iPhone 2014.08.21

[Swift] Swift Study 2주차 요약 (Closure, Collection, Property, Initialization, Observer ... etc)

Function parameters함수의 param들은 기본적으로 다 상수다. 그러므로 수정이 불가능하다. 함수 내에서 param을 수정하기 위해선 inout param으로 선언하면 되는데, 함수 선언부에서 param앞에 '&'를 표시해주면 된다. Function typefunction type을 다른 function의 param의 타입으로 사용할 수 있다. 함수의 타입이 들어가는 부분에 '(Int, Int) -> Int'와 같이 일반 함수 선언 부에서 함수명의 뒷부분을 적어주면 된다. function type을 사용해서 함수를 param으로 사용할 수 있다. ex)func addTwoInts(a: Int, b: Int) -> Int { return a + b} func printMathResult(ma..

[Swift] Swift Study 1주차 요약 (Alias, Tuple, Optional, Range operator ... etc)

Swift에 입문하기에 앞서 Swift의 전반적인 syntax에 먼저 익숙해지자. /*************************************************************************/ Type alias기존의 타입들을 대체하는 키워드를 정의할 수 있다. 팀내에서 정의된 타입을 사용할 때는 편리할 수 있으나 무분별한 type alias의 사용은 code의 readability를 저해할 것 같다. ex)typealias AudioSample = UInt16 var maxAmplitudeFound = AudioSample.min// maxAmplitudeFound is now 0’ Tuple다수의 value들을 하나의 compound value로 사용할 수 있도록 해준다. e..

[Guitar] 스케일 연습 악보(II), 해머온/풀오프, 팜뮤트

일단 크로매틱 스케일 연습으로 손가락을 이동하는 움직임에 익숙해져보자!! 크로매틱 스케일로 손가락의 이동을 연습한다면 해머온/풀오프로 왼손의 근육을 강화하고 팜뮤트를 통해 오른손의 피킹 힘을 기른다. 위의 3가지는 아주 기본적인 연습이기 때문에 시간 날때마다 해주면 좋다. 손의 뻐근함을 느끼고 어느 순간 향상된 연주 실력을 가지길 기대해본다. 크로매틱 스케일 : http://spmusic.tistory.com/346해머온/풀오프 : http://spmusic.tistory.com/347팜뮤트 : http://spmusic.tistory.com/348

Guitar 2014.06.22