본문 바로가기

전체 글

(325)
[iOS] camera iOS10 crash XCode8으로 올리고 아이폰을 iOS10으로 올리니카메라가 뜨자마자 죽는 현상 발생 이럴때 대처법1. 프로젝트의 info.plist파일을 엽니다.2. 마우스 우클릭하여 Add Row를 선택한다.3. Key값을 NSCameraUsageDescription로 설정하고 value값은 아무 스트링이나 넣어줍니다.4. key값이 Privacy - Camera Usage Description로 바뀌면서 추가되면 성공입니다.
[iOS] 버튼 멀티터치 막기 앱 검수중 동시에 터치해서 오동작 하는 이슈가 많아이를 일일히 BOOL변수를 두어 동작을 체크하다 아래와 같이 수정 [버튼 setExclusiveTouch:YES]; 위와 같이 바꾸면 이 버튼터치가 동작하는 동안 다른 터치이벤트가 발생하지 않는다. 코드도 깔끔해지고 좋음
[swift] 접근자 1. 접근자변수에 대한 접근 권한private : 현재 파일만internal : 같은 모듈 내의 모든 파일public : 모든 모듈의 모든 파일, 그냥 쓰면 워닝, class의 default는 internal 2. 샘플 코드import Foundationclass Car // default가 internal{ private var speed : Int = 0 // 현재 파일만 internal var color : Int = 0 // 같은 모듈 내의 모든 파일 public var engine : Int = 0 // 모든 모듈의 모든 파일, 워닝 나오는 이유는 class가 internal인데 해서 var data : Int = 0 // internal이 default}var c = Car()c.speed =..
[swift] selector 1. selectorswift에서 objc의 selector 쓰는 방법 기술 2. 샘플 코드// selectorclass Test //: NSObject{ @objc func foo(name : String) -> Int { print(name) return 0 }}// objc 셀렉터// SEL f = @selector("foo:")// swift//var f = #selector(Test.foo(aaa:))var f = #selector(Test.foo(_ :)) // objc 문법이라 objc 가져야함showType(f) var t = Test() //t.performSelector(f, withObject: "AA")
[swift] guard 1. guardguard : 방어코드 작성할때 씀 guard else 문 2. 샘플 코드// 예외를 던질 때 사용할 enum 상수// 아무것도 없지만 is ErrorType으로 검사할 수 있으니 좋은 구현?enum FileSendError : ErrorType{ case NoConnection case FileNotFound}func sendFile( a : Int) throws ->Bool // 예외 가능성이 있으면 throws를 명시{ // print("s") // return true // 리턴해버리면 defer 안불림 defer // throw발생해서 종료되었을 때 실행, 예외가 안나왔을때도 부름, 예외가 나와도 부름, 항상 처음에 있어야함 { print("이 코드는 이 함수가 종료되기 전에 항상..
[swift] exception 1. 예외try : 예외가 발생할 수 있는 함수 앞에 적음do : 예외 발생 구간을 묶는 함수catch : 해당 예외문이 나왔을 때 처리함throw : 예외 가능성이 있을 때 명시 2. 샘플 코드// 예외를 던질 때 사용할 enum 상수// 아무것도 없지만 is ErrorType으로 검사할 수 있으니 좋은 구현?enum FileSendError : ErrorType{ case NoConnection case FileNotFound}func sendFile( a : Int) throws ->Bool // 예외 가능성이 있으면 throws를 명시{ // print("s") // return true // 리턴해버리면 defer 안불림 defer // throw발생해서 종료되었을 때 실행, 예외가 안나왔을때도..
[iOS] 시스템 언어 가져오기 NSString *language = [[NSLocale preferredLanguages] objectAtIndex:0]; 위와 같은 코드로 시스템의 언어를 가져올 수 있다. 그런데 시스템 언어를 한국어로 설정하였을 시 iOS8의 경우ko로 오고iOS9의 경우 ko뒤에 지역코드가 붙어서 온다. 지역이 한국의 경우ko-KR 이런식 따라서 기존 언어 판별로직이 정확하지 않아 수정 대충 때우려다 자꾸 이슈나서 보니 이런문제가 있네 ㅠㅠ 따라서 언어 체크할 때는 아래와 같이 hasPrefix를 사용 NSString *language = [[NSLocale preferredLanguages] objectAtIndex:0];if([language hasPrefix:@"en"]|| // 영어 [language ha..
[iOS] 전화 처리 #import #import CTCallCenter *gclsCallCenter = [[CTCallCenter alloc] init]; gclsCallCenter.callEventHandler=^(CTCall* call){ if ( call.callState == CTCallStateIncoming ) { //전화가 걸려옴. LOG(@"CTCallStateIncoming"); } if ( call.callState == CTCallStateDialing ) { LOG(@"CTCallStateDialing"); } if ( call.callState == CTCallStateConnected ) { LOG(@"CTCallStateConnected"); } if ( call.callState == CTCal..