본문 바로가기

프로그래밍 놀이터/iOS254

[ios] CallKit - CallDirectoryExtension [ios] CallKit - CallDirectoryExtension 참조 : https://developer.apple.com/reference/callkit -CallKit framework 는 VoIP 앱이 일반 전화를 쓰는 것처럼 UX 를 가져갈 수 있게 해준다.LockScreen 에서 incoming call 에 대한 view 를 보고 응답도 할 수 있다.VoIP 에서 Favorite 과 최근 통화 뷰도 다룰 수 있다. -CallKit 은 app extension 형태( CallDirectory )로 수신차단과 발신자 정보 표시(caller identification) 기능을 사용할 수도 있다. -CXCallDirectoryExtensionContext : NSExtensionContext - .. 2018. 2. 7.
[ios] OS Version 가져오기 [ios] OS Version 가져오기 아래 2개를 더하면 된다. [UIDevice currentDevice].systemName[UIDevice currentDevice].systemVersion currentDevice, systemName, systemversion, UIDevice, [ios] OS Version 가져오기 2018. 2. 6.
[ios] App Version 가져오기 [ios] App Version 가져오기 [[NSBundle mainBundle] objectForInfoDictionaryKey:(NSString *)kCFBundleVersionKey] app version 가져오기, IOS, kCFBundleVersionKey, nsbundle, objectForInfoDictionaryKey, [ios] App Version 가져오기 2018. 2. 5.
[ios] 앱을 재설치 했을 때 Permission Check 를 기억하는 문제 해결 방법 [ios] 앱을 재설치 했을 때 Permission Check 를 기억하는 문제 해결 방법 첫번째 방법 1. 앱을 단말에서 지우고,2. 단말을 재부팅 한 후3. Settings > General > Date & Time 에서 날짜를 하루 이상 미래로 만들어라.4. 단말을 다시 재부팅 두번째 방법 Permission 기억은 번들 ID 기준으로 하기 때문에,bundle id 를 바꾸어 설치한다. 세번째 방법 가장 추천되는 방법은 이 세번째 방법!!Setting -> General -> Reset -> Reset Location & Privacy bundle id, date & time, GENERAL, permission, Reset, reset location & privacy, settings, [ios.. 2018. 2. 4.
[ios] Gallary ( Photo Album) Permission 체크 [ios] Gallary ( Photo Album) Permission 체크 #import "AssetsLibrary/AssetsLibrary.h" // 권한 체크[ALAssetsLibrary authorizationStatus] > kCLAuthorizationStatusDenied // 권한 요청ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init];[library enumerateGroupsWithTypes:ALAssetsGroupSavedPhotos usingBlock:^(ALAssetsGroup *group, BOOL *stop) { // do something with success *stop = YES;} failureBlock:^(NSErro.. 2018. 2. 3.
[ios] Camera Permission [ios] Camera Permission @import AVFoundation; // 권한 체크[AVCaptureDevice authorizationStatusForMediaType:AVMediaTypeVideo] == AVAuthorizationStatusAuthorized; // 권한 요청 [AVCaptureDevice requestAccessForMediaType:AVMediaTypeVideo completionHandler:^(BOOL isGranted){ // do something}]; authorizationStatusForMediaType, AVAuthorizationStatusAuthorized, AVCaptureDevice, AVMediaTypeVideo, camera permissi.. 2018. 2. 2.
[iOS Study] 병렬 프로그래밍 가이드 ( dispatch queue ) [iOS Study] 병렬 프로그래밍 가이드 ( dispatch queue ) https://developer.apple.com/library/ios/documentation/General/Conceptual/ConcurrencyProgrammingGuide/OperationQueues/OperationQueues.html#//apple_ref/doc/uid/TP40008091-CH102-SW1 About Dispatch Queues -모든 dispatch queue 는 FIFO 이다. -다음의 dispatch queue 가 있다. serial concurrent main dispatch queue -serial queue ( private dispatch queue ) 는 한번에 하나의 task 만 수.. 2018. 2. 1.
[ios] .c 파일을 import 한 후 build 가 안 된다면 pch 파일을 확인해봐라. [ios] .c 파일을 import 한 후 build 가 안 된다면 pch 파일을 확인해봐라. pch 파일은 빌드할 때 매번 사용되는 녀석으로, c 를 컴파일 할 때도 사용된다.그래서 pch 파일에 objective-c 에서 사용하는 녀석에 대한 import 문이 있다면 compile 에러가 난다. pch 파일에서 아래와 같이 ifdef 구문으로 처리해주어야 한다. ( c 에서는 ObjectiveC 의 header 를 import 못하니깐 )#ifdef __OBJC__#import “ObjecitveCHeader.h"#endif #endif, #ifdef, .c import, build, C, Compile, compile error, endif, ifdef, import, Objective-C, PCH.. 2018. 1. 31.
[ios] 압축, 압축해제 ( archive, unarchive ) [ios] 압축, 압축해제 ( archive, unarchive ) -framework 에 있는 zlib.h 를 사용하면 압축, 압축해제가 가능하다.그러나 native (c level) code 를 다뤄야 하기 때문에 & 여러 예외 사항을 대응해야 하기 때문에 3rd party library 를 사용하는 것이 추천된다. -gzip 은 GNU zip 의 약자로, 압축과 압축해제를 지원하는 유틸리티를 이야기한다.gzip 은 다른 기존의 특허받은 알고리즘에 비해 더 압축을 잘 한다는 평이 있다.생성된 파일은 .gz 확장자를 갖는다. -ios 에서 주로 사용되는 open source library 는 ziparchive ( miniZip 에 기반을 둠 ) https://code.google.com/archive.. 2018. 1. 30.