본문 바로가기

iOS/Objective-c

(8)
[ObjC] NSData XOR 비트 연산 - 데이터 축약 32바이트 NSData를 XOR비트 연산하여 8바이트 크기로 생성. C로 쓰니 메모리 에러가 너무 많이나서 호출하다보면 크러시가 남. ( Heap corruption detected 등등) ObjC로 변경한 코드. - (NSMutableData*) makeHashWithData:(NSData *)shaData { NSData *shaData1 = [shaData subdataWithRange:NSMakeRange(0, 16)]; NSData *shaData2 = [shaData subdataWithRange:NSMakeRange(16, 16)]; NSMutableData *result1 = [shaData1 mutableCopy]; char *dataPtr = (char *) [result1 mutabl..
[ObjC]URL 파싱해서 파라미터 추출 https://host.co.kr/file?fileName=THIS-PLACE-IS-PARAMETER.pdf - (NSString *)parseFromURLRequest:(NSURLRequest *)request { NSArray *params = [[request.URL query] componentsSeparatedByCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@"=."]]; NSMutableDictionary *dic = [NSMutableDictionary dictionary]; for (int i=0; i
[ObjC]UIActivityViewController를 사용한 파일 저장/공유 #import @interface FileManager : NSFileManager + (FileManager *)shared; - (void)downloadDocs:(NSString *)fileName withFileURL:(NSString *)shareURL; @end ----------------------------------------------------------------------------------------- #import "FileManager.h" @implementation FileManager + (FileManager *)shared { static FileManager *fm = nil; static dispatch_once_t onceToken; dispatch_once..
[ObjC] iOS 연결된 Bluetooth 기기 앱과 연결시켜주기 - import ExternalAccessory/ExternalAccessory.h [[EAAccessoryManager sharedAccessoryManager] connectedAccessories]; 1. 여기서 현재 붙어있는 블루투스 기기 배열을 가져온다. 2. 첫번째 붙은 기기가 연결하려는 기기가 맞는지 확인한다- 연결된 기기 개수가 1개 이상이고, 연결된 블루투스 기기의 이름을 확인. 3. 맞다면 다음 액션 진행 4. 아니라면 EAAccessoryManager.shared().showBluetoothAccessoryPickerpicker를 실행하여 연결해준다.
[ObjC] EAAccessory 사용해서 Bluetooth 연결하기 1. ExternalAccessory.framework 등록.2. NotificationCenter에 EAAccessoryDidConnectNotification, EAAccessoryDidDisconnectNotification 등록.여기까지 해도 Noti가 오는데 안오면3. EAAccessoryManager에 registerForLocalNotifications 등록. (나의 경우 이거 등록안해서 반나절 날림..)4. EAAccessoryManager에서 showBluetoothAccessoryPIckerWithNameFilter를 이용해서 블루투수 선택창 팝업.5. Notification을 받을 method에서 [[notification userInfo] objectForKey:EAAccessory..
[ObjC] 텍스트 암호화
[ObjC] 써드파티 앱에서 SMS 전송하기 1. MessageUI FrameWork 추가 2. MFMessageComposeViewController.h 헤더파일 추가. 3. 문자 내용과 폰번호 입력. (폰번호는 여러명에게 보내도록 array로 제공된다) - (IBAction)sendButtonAction:(UIButton *)sender { MFMessageComposeViewController *controller = [[MFMessageComposeViewController alloc] init]; if([MFMessageComposeViewController canSendText]) { controller.body = @"안녕하세요. 래브라도 티스토리입니다."; controller.recipients = [NSArray arrayWithO..
[ObjC] prefixheader.pch 추가하기 1. New File - Ohter - PCH File 추가. 2. 통상적인 파일명은 ProjectName-PrefixHeader.pch로 정함. 3. 상수값을 정리할 파일을 추가 생성. (여기서는 Constatns.h에 정리) 4. ProjectName-PrefixHeader.pch에 #import "Constatns.h" 추가. 5. Constatns.h에 #define kTEST @"this is Constants." 추가. 6. Project - Build Settings (검색: prefix header) - Apple LLVM 9.0 - Language - Precompile Prefix Header (Yes로 변경)7. Prefix Header에 .pch 파일 경로 추가. (your-proj..