본문 바로가기

IT/iOs

(45)
아이폰 개발자 맥 하드 용량 확보 팁 Xcode를 사용하여 개발을 하는 개발자가 주의깊게 볼 경로 ~/Library/Developer/DerivedData ~/Library/Developer/Archives 위 두 폴다 안 항목만 지워도 어마어마한 용량을 얻음
폴더 생성, 삭제, 파일 삭제 아이폰 앱 내 폴더 생성, 삭제, 파일 삭제 특정 폴더 안 파일들 삭제 Objective-C NSFileManager *fm = [NSFileManager defaultManager]; NSString *directory = [[self documentsDirectory] stringByAppendingPathComponent:@"Photos/"]; NSError *error = nil; for (NSString *file in [fm contentsOfDirectoryAtPath:directory error:&error]) { BOOL success = [fm removeItemAtPath:[NSString stringWithFormat:@"%@%@", directory, file] error:&err..
objective-c NSData -> hex string static inline char itoh(int i) { if (i > 9) return 'A' + (i - 10); return '0' + i; } NSString * NSDataToHex(NSData *data) { NSUInteger i, len; unsigned char *buf, *bytes; len = data.length; bytes = (unsigned char*)data.bytes; buf = malloc(len*2); for (i=0; i> 4) & 0xF); buf[i*2+1] = itoh(bytes[i] & 0xF); } return [[NSString alloc] initWithBytesNoCopy:buf length:len*2 encoding:NSASCIIStringEncodi..
UITableView 스와이프 메뉴, 편집 모드 다루기 UITableView 스와이프 메뉴, 편집 모드 다루기 UITableView Editing, Move, Delete 아이폰 모바일 앱 개발에서 UITableView를 안 다룰 수가 없습니다. UITableView를 잘 다루면 UI 개발 반은 먹고 들어간다고 해도 과언이 아니지요 오랜만에 테이블뷰를 이용하여 각 행의 삭제나 순서 이동 등 편집 기능을 개발하려고 했더니 변경된 내용들이 있길래 포스팅을 해봅니다. 물론 오래전에 변경됬지만 제가 늦게 안 거긴 합니다 스와이프 메뉴 UITableViewDelegate 메서드 중에 tableView:editingStyle:indexPath: 메서드 없이 self.tableView.setEditing(true, animated: true)만 하면 왼쪽에 -버튼은 나오..
WKUserContentController 뽀개기 WKUserContentController 뽀개기 이번 포스팅에서는 WKWebView 기능 중에 하나인 WKUserContentController 기능을 살펴보겠습니다. WKWebView기능 중에 좋은 기능이 있습니다. 기존 UIWebView에서는 지원이 안됐던 기능으로 웹뷰를 사용할 때 웹에서 네이티브 앱에 있는 함수를 호출하게 할 수가 있습니다. 물론 UIWebView에서도 앱과 약속한 특정 url를 호출하는 방법으로 앱에 노티를 주어 앱의 기능을 실행시킬 수도 있긴 합니다. 하지만 url을 사용한 방법은 웹에서 호출하는 시점이 애매할수도 있습니다. 웹뷰를 이용한 하이브리드앱을 개발할 시 네이티브 앱과 웹의 상호작용하는 부분이 늘어나면 이를 처리하는 작업이 상당합니다. 팝업 처리, 로그인 세션 관리 ..
로컬 노티피케이션 보내기 UNMutableNotificationContent iOS에서 로컬 노티피케이션 보내기 UNMutableNotificationContent을 사용하여 로컬 노티피케이션을 보낼 수 있습니다. 노티피케이션의 제목과 메시지, 재생할 소리 또는 앱 뱃지에 할당할 값도 지정할 수 있습니다. 식별자를 사용하여 관련된 알림들을 시각적으로 그룹화를 할 수도 있고 커스텀 런치 이미지를 지정할 수도 있습니다. 바로 노티피케이션을 노출할수있고 지정된 시간에 노출할 수도 있습니다. 노티피케이션을 사용하려면 사용자의 허용이 있어야 합니다. https://developer.apple.com/documentation/usernotifications/asking_permission_to_use_notifications ios10 이상 objective-c 예제입니다. if (@ava..
Realm 에러 모음 Realm 에러 모음 이 포스팅은 렘 관련 오류가 나면 원인과 해결법을 적어놓는 용으로 계속 업데이트하겠습니다. 1. requires a protocol defining the contained type - example: RLMArray #import #import "Transaction.h" @interface Account : RLMObject @property NSString *primaryKey; @property RLMArray*transactions; @end 위처럼 Account모델을 만들었습니다. RLMArray 형으로 모델에 transactions 프로퍼티를 만들었는데 아래와 같은 오류 메시지가 나오면서 crash가 납니다. *** Terminating app due to uncaugh..
프레임워크 지원하는 아키텍처 확인하는법 지원하는 아키텍처 확인하는법 Check supported architectures of framework 터미널을 엽니다 Check below command in Terminal 해당 위치로 이동하여 아래 명령어로 확인합니다. lipo -info yourlib.a Output : Architectures in the fat file: yourlib.a are: i386 x86_64 armv7 arm64 .framework인 경우 In case Framework.framework 해당 위치로 이동하여 프레임워크 폴어 안으로까지 이동합니다. Go to inside framework like below cd /Your_Path_/라이브러리이름.framework 그리고 아래 명령어를 사용합니다. then run..