반응형

iOS/Swift + Objective-c 80

[Objective-c] char* -> NSString, NSString -> char* 변환 방법

Objective-c에서 char* (const char*)와 NSString 간 변환 방법입니다. Unity와 iOS 간 호출할 때 변환해서 사용했습니다. 아래 방법으로 변경해서 보내지 않는 경우, 인코딩이 깨지는 문제가 있었어요 char* -> NSString const char *c = "test"; NSString *s = [NSString stringWithUTF8String:c]; NSString -> char* NSString *s = @"test"; const char *c = [s UTF8String];

[Objective-c] 카카오 로그인 연동 (카카오톡, Kakao Login)

iOS에서 카카오 로그인 연동하는 방법 샘플 프로젝트 모두 구현된 샘플 프로젝트를 미리 실행해보고 싶다면 아래 깃헙 링크에서 확인해주세요. https://github.com/eunsuu1015/KakaoLoginSample GitHub - eunsuu1015/KakaoLoginSample: iOS KakaoLoginSample iOS KakaoLoginSample. Contribute to eunsuu1015/KakaoLoginSample development by creating an account on GitHub. github.com 시작 전 참고사항 Kakao Legacy 1.23.9 버전을 사용했습니다. 최신 버전은 Swift, RxSwift만 지원됩니다. 사전 준비 사항 카카오디벨로퍼스(Kak..

[Objective-c] 네이버 로그인 연동 (네아로, Naver Login)

iOS에서 네이버 로그인 연동하는 방법 요구사항 및 자세한 사항은 Naver developers 및 Naver github에 자세히 나와있습니다. 하단 참고 URL에서 확인해주세요. 샘플 프로젝트 모두 구현된 샘플 프로젝트를 미리 실행해보고 싶다면 아래 링크에서 확인해주세요. https://github.com/eunsuu1015/NaverLoginSample GitHub - eunsuu1015/NaverLoginSample: iOS Naver Login Sample iOS Naver Login Sample. Contribute to eunsuu1015/NaverLoginSample development by creating an account on GitHub. github.com 사전 준비 사항 아래 ..

[iOS] [NSBundle ko_appKey:] unrecognized selector sent to class 해결 방법

iOS 카카오 SDK 연동 시 [NSBundle ko_appKey:] unrecognized selector sent to class 에러 해결 방법 발생 에러 Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '+[NSBundle ko_appKey]: unrecognized selector sent to class 해결 방법 Build Setting 수정 프로젝트 > TARGETS > 앱 > Build Settings > Other Linker Flags에 -all_load 추가 ※ 아래 이미지에서 카카오 SDK를 Framework에서 사용하기 때문에 Framework에서 설정한 것이며, 일반 앱은 TARGET..

[Swift / Obejctive-c] 클립보드 복사/붙여넣기 (UIPasteboard)

iOS에서 클립보드에 값을 복사하는 방법과, 클립보드에 있는 값을 가져오는 방법 Swift // 클립보드에 값 복사하기 UIPasteboard.general.string = "some string" // 클립보드 값 가져오기 if let someString = UIPasteboard.general.string { // someString } Objective-c // 클립보드에 값 복사하기 [[UIPasteboard generalPasteboard] setString:@"some string"]; // 클립보드에 값 가져하기 NSString *someString = [[UIPasteboard generalPasteboard] string];

[iOS] Xcode adding space in App Name (앱 명 띄어쓰기 안 될 때)

Adding space in app name Xcode에서 앱 명 띄어쓰기가 안될 때 해결 방법 일반적으로 앱 명을 변경할 때는 아래 방법으로 변경합니다. TARGETS - General - Identity에서 Display Name 변경 Info.plist 에서 Bundle name 변경 그런데 간혹 띄어쓰기가 적용 안 되는 경우가 있죠. 또는 앱 명이 길어서 OS에서 자동으로 띄어쓰기를 없애버리는 경우도 있습니다. 이럴 때는 아래와 같은 방법으로 진행하면 됩니다. 해결방법 1. Info.plist를 Source Code로 열기 Info.plist 우클릭 > Open As > Source Code 선택 2. CFBundleName에 띄어쓰기 대신 를 입력 3. 앱 실행하여 확인하기 수정 전: 띄어쓰기 ..

[Swift / Objective-c] UITableView 셀 구분선 없애는 방법 (separatorStyle)

UITableView 셀 구분선 없애는 방법 Separator: UITableView 셀과 셀 사이에 있는 구분선 viewDidLoad에서 설정해주면 됩니다. Swift tableView.separatorStyle = .none Objective-c tableView.separatorStyle = UITableViewCellSeparatorStyleNone; 참고사항 Inspector 창에서도 가능합니다. Attribution Inspector > Separator 스타일 및 색상 설정 가능

[iOS] CSR(인증서 서명 요청) 생성 방법 (Certificate Signing Request)

Mac에서 CSR(인증서 서명 요청) 생성 방법 CSR이란? Certificate Signing Request : 인증서 서명 요청 인증서 발급을 위한 정보를 담고 있는 파일 CSR 생성 방법 1. 키체인 접근 실행 2. 상단 키체인 접근 > 인증서 지원 > 인증 기관에서 인증서 요청 선택 3. 인증서 정보 입력 해당 csr을 넣어 만든 인증서를 키체인에 등록하면 일반 이름에 입력한 값이 개인키 부분에 표시됩니다. (abc) CA 이메일 주소는 입력하지 않아도 됩니다. 요청 항목은 디스크에 저장됨을 선택해야 Mac에 csr 파일로 저장됩니다. 4. csr 파일명 입력 5. 완료 참고사항 생성된 csr을 더블클릭하면 생성 시 입력한 정보를 확인할 수 있다. 일반 이름(사용자 이메일 주소) 참고 URL ht..

[iOS] 기업용 앱 신뢰 설정 (신뢰할 수 없는 기업용 개발자)

iOS 기업용 앱 신뢰 설정 방법 기업용 앱(기업에서 배포한 앱) 설치 후, 실행을 위해 신뢰를 설정해야 앱 사용이 가능하다. 문제 신뢰하지 않은 경우는 아래 알림이 뜨면서 앱 실행이 불가능하다. 신뢰 설정 방법 신뢰 설정은 앱에서 가능하다. 1. 설정 앱에서 일반 선택 2. 아래로 내려 기기 관리 선택 3. 신뢰할 기업 선택 4. '기업'을(를) 신뢰함 선택 신뢰하기 전에는 '개발자를 신뢰하기 전에는 실행되지 않습니다.'라고 표시된다. 5. 신뢰 선택 6. 신뢰 완료 신뢰가 완료되면 '앱을 신뢰합니다.'라고 표시된다.

[Objecitve-c] Category(카테고리) 사용 방법

iOS Category(카테고리) 사용 방법 Category란? 기존에 정의된 클래스를 쉽게 확장할 수 있게 해주는 기능 사용 방법 1. 카테고리로 확장할 클래스 생성 1-1. Xcode File > New > File > Cocoa Touch Class 선택 1-2. 네이밍 규칙 Class 파일명은 확장할 클래스 이름+카테고리명으로 지정해야 한다. 아래 사진에서는 NSString+Test 로 지정했다. 1-3. 생성된 파일 // NSString+Test.h #import @interface NSString_Test : NSObject @end // NSString+Test.m #import "NSString+Test.h" @implementation NSString_Test @end 1-4. 생성된 ..

[iOS] TextField, TextView 키보드에 가려지는 현상 해결, 포커스 이동 (IQKeyboardManager)

TextField, TextView 키보드에 가려지는 현상 해결 방법 TextField, TextView 포커스 위아래로 이동하는 방법 화면 하단에 있는 TextField 또는 TextView에 값을 입력하는 경우, 키보드에 가려져 입력한 값이 가려지는 현상 키보드 상단에 포커스 이동하는 버튼을 두고 싶은 경우 모두 아래 라이브러리로 쉽게 해결이 가능합니다. IQKeyboardManager https://github.com/hackiftekhar/IQKeyboardManager 지원 언어 Objective-c Swift 설치 방법 CocoaPods 또는 Carthage로 설치 (Carthage로 설치 방법은 위 github 링크에서 확인해주세요.) CocoaPods으로 설치 방법 // Podfile //..

[iOS] framework 생성 및 사용 방법 (2 - 사용 방법)

iOS framework(프레임워크) 생성 및 사용 방법 ※ 해당 글에서는 objective-c로 설명하지만 swift도 거의 동일합니다. ※ 내용이 길어 두 개의 포스팅으로 나눴습니다. 해당 글에서는 framework 사용 방법을 설명합니다. 이전 포스팅 : https://es1015.tistory.com/433 목차 - framework 생성 방법 1. debug framework 생성 방법 2. release framework 생성 방법 - framework 생성 시 참고 사항 - framework 사용 방법 1. framework 파일을 추가하는 방법 - framework 파일 필요 2. framework 프로젝트를 추가하는 방법 - framework 프로젝트 필요 3. 클래스 및 메서드 호출 방..

[iOS] framework 생성 및 사용 방법 (1 - 생성 방법)

iOS framework(프레임워크) 생성 및 사용 방법 ※ 해당 글에서는 objective-c로 설명하지만 swift도 거의 동일합니다. ※ 내용이 길어 두 개의 포스팅으로 나눴습니다. 해당 글에서는 framework 생성 방법과 framework 생성 시 참고 사항을 설명합니다. 다음 포스팅 : https://es1015.tistory.com/434 목차 - framework 생성 방법 1. debug framework 생성 방법 2. release framework 생성 방법 - framework 생성 시 참고 사항 - framework 사용 방법 1. framework 파일을 추가하는 방법 - framework 파일 필요 2. framework 프로젝트를 추가하는 방법 - framework 프로젝..

[iOS] 디바이스 내 앱 데이터 확인 (AppData, Documents)

디바이스 내 앱 데이터를 확인하는 방법 1. Xcode > Window > Devices and Simulators 선택 2. 왼쪽 Devices에서 디바이스 선택 > 앱 선택 > 톱니바퀴 > Download Container... 선택 3. 저장할 폴더 선택 4. 생성된 파일 우클릭 > 패키지 내용 보기 선택 5. AppData 확인 가능! 참고사항 Devices and Simulators 창 > 디바이스 선택 > 프로젝트 선택 > 톱니바퀴 > Show Container 선택 시에는 아무런 데이터도 조회되지 않음

[iOS] ipa 파일로 프로비저닝 프로파일 확인하기

ipa 파일에 포함된 프로비저닝 프로파일 확인하는 방법은 아래와 같다. 준비물 ipa 파일 mac 확인 방법 1. ipa 파일 우클릭 > 다음으로 열기 > 아카이브 유틸리티로 열기 '다음으로 열기'에서 '아카이브 유틸리티'가 없는 경우: '기타...'를 선택하고 검색 화면이 나오면 '아카이브'를 검색해서 열기 진행 2. Payload 폴더 생성됨 3. Payload 폴더 내 앱 아이콘 우클릭하여 '패키지 내용 보기' 선택 4. embedded 이름의 프로비저닝 프로파일 확인 (embedded.mobileprovision)

[Swift / Objective-c] 카메라 권한 허용 상태 조회 및 요청

카메라 권한 허용 상태 조회 및 요청 방법 Info.plist에 Camera 권한 추가 및 AVFoundation import 하여 사용 필수사항 Info.plist에 Privacy - Camera Usage Description 추가 NSCameraUsageDescription 앱 기능을 사용하려면 카메라 권한이 필요합니다. 샘플 Swift import AVFoundation let status = AVCaptureDevice.authorizationStatus(for: AVMediaType.video) switch status { case .notDetermined: print("권한 요청 전 상태") // 권한 요청 AVCaptureDevice.requestAccess(for: .video) { g..

[iOS] 앱 서명 인증서? 생성, 내보내기 및 삭제 (signing certification)

앱 서명이란? (What is app signing?) 디바이스에 앱을 실행하고 앱 서비스를 사용하거나, 지정된 디바이스에서 테스트하거나 앱스토어에 제출하기 위해 꼭 필요한 과정 Xcode는 앱을 build 하고 archive 하는 과정에서 서명을 진행 계정 당 생성할 수 있는 인증서 개수가 제한됨 팀의 다른 사람과 공유하려면 서명 인증서를 내보내기 한 후, 다른 사람의 Mac에서 내보낸 파일을 두 번 클릭하여 키체인에 서명 인증서를 설치 계정 당 생성할 수 있는 인증서 개수 Type Apple Developer Program Enterprise Apple Development 2 2 Apple Distribution 3 2 주요 인증서 종류 Apple Development iOS, tvOS, watch..

[Swift / Objective-c] String 특정 문자열 치환, 제거 (replace)

iOS에서 특정 문자열을 치환하거나 제거하는 방법 Swift var string = "안녕하세요. 샘플입니다." string = string.replacingOccurrences(of: ".", with: "!") print(string)// 안녕하세요! 샘플입니다! Objective-c NSString *string = @"안녕하세요. 샘플입니다."; string = [string stringByReplacingOccurrencesOfString:@"." withString:@"!"]; NSLog(@"%@", string); // 안녕하세요! 샘플입니다! 특정 문자열을 제거할 경우는 withString에 ""(@"")를 넣어주면 된다.

반응형