Backup/iOS
Xcode 빌드 시간 표시 명령어
Xcode 빌드 시간 표시 명령어
2018.07.03Xcode 빌드 시간 표시 명령어터미널로 이동해서 다음 명령어를 입력합니다.$ defaults write com.apple.dt.Xcode ShowBuildOperationDuration -bool YESXcode 재시작을 합니다.Command + b를 누르면 빌드가 되면서 시간이 표시됩니다.
iOS NSTimer 사용하기
iOS NSTimer 사용하기
2018.07.03NSTimer 사용하기프로그래밍을 하다 보면 특정 작업이 몇초, 몇분, 몇시간 후에 실행되는 로직을 원할 때가 있습니다. 이런 경우에 dispatch_after를 사용해서 처리할 수도 있지만, 또 다른 방법으로는 NSTimer를 이용하면 편리하게 구현할 수 있습니다.// dispatch_after 사용하는 경우 dispatch_time_t waitTime = dispatch_time(DISPATCH_TIME_NOW, CALL_INTERVAL * NSEC_PER_SEC); dispatch_after(waitTime, dispatch_get_global_queue( DISPATCH_QUEUE_PRIORITY_HIGH, 0), ^(void) { });dispatch_after의 경우 NSDictionary형태..
iOS Swipe Gesture 정리
iOS Swipe Gesture 정리
2018.07.02iOS Swipe Gesture 정리iOS는 SDK에서는 많은 제스처를 알 수 있지만, 그 중에서도 스와이프 제스처에 대해 정리하려 합니다. Swipe Gesture 등록// Swift override func viewDidLoad() { super.viewDidLoad() let leftSwipeGestureRecognizer = UISwipeGestureRecognizer(target: self, action: #selector(handleSwipes(_:))) let rightSwipeGestureRecognizer = UISwipeGestureRecognizer(target: self, action: #selector(handleSwipes(_:))) leftSwipeGestureRecognize..
Cocoapods에 직접 만든 Library 등록 하는 방법
Cocoapods에 직접 만든 Library 등록 하는 방법
2018.07.01Cocoapods에 직접 만든 Library 등록 하는 방법안녕하세요. 레비입니다. 이번에는 직접 만든 라이브러리를 Cocoapods에 Library에 등록하는 방법에 대해서 정리하려고 합니다.cocoapods는 iOS에서 Objective-C, Swift 라이브러리를 설치 및 배포할 수 있도록 도와주는 의존성 관리 도구입니다. 일반적으로 사용하는 목적은 다른 개발자가 만든 라이브러리를 사용할 목적으로 사용되지만, 오픈소스에 기여하거나 자신이 필요한 코드들을 모아두고 여러 프로젝트에서 쉽게 사용할 목적으로 등록하기도 합니다. 그럼 진행하기에 앞서 먼저 준비되어야 할 항목들이 있습니다. 준비되지 않았다면 진행이 불가합니다.cocoapods 설치 및 사용 방법을 익히셔야 합니다. cocoapods..
로컬 프로젝트에 직접 만든 Pod 생성 및 적용하기
로컬 프로젝트에 직접 만든 Pod 생성 및 적용하기
2018.07.01로컬 프로젝트에 직접 만든 Pod 생성 및 적용하기안녕하세요. 레비입니다. 이번에는 직접 만든 라이브러리를 Local Pods로 만드는 방법에 대해서 정리하려고 합니다.cocoapods는 iOS에서 Objective-C, Swift 라이브러리를 설치 및 배포할 수 있도록 도와주는 의존성 관리 도구입니다. 일반적으로 사용하는 목적은 다른 개발자가 만든 라이브러리를 사용할 목적으로 사용되지만, 오픈소스에 기여하거나 자신이 필요한 코드들을 모아두고 여러 프로젝트에서 쉽게 사용할 목적으로 등록하기도 합니다. 그럼 진행하기에 앞서 먼저 준비되어야 할 항목들이 있습니다. 준비되지 않았다면 진행이 불가합니다.cocoapods 설치 및 사용 방법을 익히셔야 합니다. cocoapods 설치 및 사용 방법 먼저 cocoa..
프로젝트 prefix .pch 파일 설정
프로젝트 prefix .pch 파일 설정
2018.06.28프로젝트 prefix .pch 파일 설정prefix란? 무엇이냐면 프로젝트 전체에 적용되는 설정이라고 생각하면 된다.예를 들어 앱 전체 프로젝트에 해당되는 define 값이 있다면 define.h 파일을 만들어서 따로 관리해도 되지만, 그렇게 되면 프로젝트마다 define.h 파일을 매번 #import 시켜야하는 불편함이 있다. 이럴 때 prefix 파일을 만들고 define 값을 넣고 사용한다면 조금더 유연하게 프로젝트 관리가 가능하다. prefix 파일의 확장자는 .pch 파일이고 파일명은 원하는데로 만들어도 된다. .pch (prefix파일) 생성하기프로젝트 오른쪽 마우스 클릭 > New File... > Other > PCH File 생성이름은 원하는 이름으로 설정해도 상관없다.RemoteCont..
iOS 데이터 NSData, NSString, char* 변환
iOS 데이터 NSData, NSString, char* 변환
2018.06.28iOS 데이터 NSData, NSString, char* 변환NSString to char*// dataString -> NSString char *buffer = [dataString UTF8String];char* to NSString// buffer -> char* NSString *dataString = [NSString stringWithUTF8String: buffer]; // -> 1번째 방법 NSString *dataString = [NSString stringWithFormat:@"%s", buffer]; // -> 2번째 방법NSData to char*// data -> NSData const char *buffer = (const char*)[data bytes];char* to NS..
iOS 매일 특정 시간에 알림 구현 (UILocalNotification)
iOS 매일 특정 시간에 알림 구현 (UILocalNotification)
2018.06.25iOS 매일 특정 시간에 알림 구현 (UILocalNotification)iOS에서 매일 특정 시간에 알림을 받을 수 있는 방법에 대해서 정리하려고 한다.Notification 알림은 크게 2가지로 나뉜다.첫 번째는, APNS 서버에서 데이터를 전달받아 띄우는 Notification 알림두 번째는, 앱 자체에서 띄우는 Local Notification 알림매일 특정 시간에 Nofitication 알림을 띄우는 방법은 두 번째 방법을 이용해서 구현한다. AppDelegate 메서드 구현-(void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification { if(applicat..
iOS Realm 데이터 확인하기 (Realm Browser, Simulator, iPhone)
iOS Realm 데이터 확인하기 (Realm Browser, Simulator, iPhone)
2018.06.24iOS Realm 데이터 확인하기iOS에서 Realm 데이터를 확인하는 방법에 대해서 정리한다.Simulator와 실제 iPhone Device에서 Realm 확인하는 방법은 다르다. Realm Browser 설치Realm 데이터를 확인하기 위해서는 .realm 확장자 포멧을 열어 확인할 수 있는 툴이 필요하다.AppStore에 이동하여 검색창에 Realm Browser라고 입력하고 설치한다. 앱스토어 다운로드 Simulator에서 데이터 확인먼저 Xcode에서 Simulator로 실행하는 경우는 다음 절차로 진행하면 된다. (ObjectiveC 기준)첫번째, .realm 파일의 경로를 구한다.NSLog(@"%@", [RLMRealmConfiguration defaultConfiguration].file..
iOS iCloud 구현 시 NSUbiquitousKeyValueStore Maximum Size Issue
iOS iCloud 구현 시 NSUbiquitousKeyValueStore Maximum Size Issue
2018.06.20NSUbiquitousKeyValueStore Maximum Size IssueiCloud에 동기화를 구현하면서 Key-Value를 저장하는 [NSUbiquitousKeyValueStore defaultStore]를 사용하다이미지를 NSData 형태로 저장하고 다시 불러오는 과정에서 못 불러오는 이슈가 생겼다.로직에 문제가 있는가? 하고 테스트 샘플을 만들어 진행해보고 확인해봤는데 데이터가 저장되지 않는 이슈가 생겼다. 그래서 NSUbiquitousKeyValueStore 애플 도큐먼트 확인를 확인해보니 안되는 이유가 있었다.Key-Value 형태로 저장하는 방식에는 다음과 같이 조건들이 있었다. 앱은 키 - 값 저장소에 1MB의 전체 공간으로 제한됩니다. 키당 별도로 1MB 제한이 있으며 최대 1024..
Realm Sytax Error 정리 - ObjectiveC
Realm Sytax Error 정리 - ObjectiveC
2018.06.19Realm Sytax Error 정리 - ObjectiveC이 글은 ObjectiveC에서 Realm을 사용하며 발생했던 Sytax Error들의 대해 정리한 글이다.앞으로 발생하는 Error에 대해서도 계속 업데이트 될 예정이다. Terminating app due to uncaught exception 'RLMException', reason: 'Binary too big'저장하려는 데이터 크기가 16MB를 넘었을 때 나타나는 에러이다.갤러리의 이미지를 Realm에 NSData로 넣는 도중 발생NSData.length로 데이터의 크기를 확인할 수 있음(18752515 / 1024 / 1024 = 17.88 MB) Terminating app due to uncaught exception 'RLMExc..
iOS 개발 시간을 절약할 수 있는 Xcode 코드 스니펫
iOS 개발 시간을 절약할 수 있는 Xcode 코드 스니펫
2018.06.18개발 시간을 절약할 수 있는 Xcode 코드 스니펫오늘은 스터디에서 배운 코드 스니펫을 정리하려고 한다.코드 스니펫이란? Snippet이란 단어는 작은 조각이란 뜻이다. 코드 작은 조각?코드 스니펫은 자주 사용하는 코드나 미리 정의되서 사용되는 여러 코드들의 대해 미리 정의해주는 기능이다./** [2018.06.14 Leby.Y.Kim] */예를 들어 프로젝트에서 매번 주석을 작성할 때마다 다시 쓰거나, 아니면 복사해서 붙여넣는다면 엄청 불편하다.하지만 코드 스니펫에 저 주석을 저장 해놓는다면 comment라는 글자만 입력해도 위 주석을 바로 사용할 수 있다. 코드 스니펫 추가먼저 코드 스니펫에 추가하려는 코드를 작성한다./** [2018.06.14 Leby.Y.Kim] */위 같이 코드를 작성하고 드래..