일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 앱버전구하기
- ios
- iOS계산기
- 맥
- 스프링
- FLASK
- 계산기앱만들기
- MainScheduler
- jQuery
- Swift
- Python
- JavaScript
- 개발기록
- iOS배포
- spring
- DispatchGroup
- iOS앱배포
- 앱배포
- 웹
- 딩동말씀
- 계산기앱
- 자바스크립트
- AJAX
- subscript
- 파이썬서버
- Xcode
- Xib
- FileOwner
- 스위프트
- customclass
- Today
- Total
개발하는 뚝딱이
[iOS] 환율계산기2 - swift로 카카오 지도 API 사용하기 본문
iOS에서 카카오 맵 API 서비스를 이용하려고 보니 objective-C로 SDK가 개발되어 있다. 이것을 6번단계에서 objective-C를 swift로 바꿔서 개발이 가능하다. 아래 단계를 차근차근히 따라하면 성공!
1. SDK 설치
https://apis.map.kakao.com/ios/guide/ SDK 다운로드
https://developers.kakao.com/ 네이티브 앱 키 등록, Bundle ID 등록 (위 링크에 설명있음)
2. 프레임 워크 추가
> 다운로드 받은 SDK 폴더
> lib
> DaumMap.embeddedframework 압축 후, 프로젝트로 넣음
> 'Copy items if needed' 체크 해줄 것
> 설정 페이지 - Frameworks, Libraries, and Embedded Content 의 추가하는 플러스 버튼 클릭
> Add Other...
> 프로젝트 내에 추가한 프레임워크 선택하기 (다운받은 폴더에서 드래그하면, 다운받은 폴더로 경로가 설정된다. 따라서 현재 프로젝트 내의 프레임워크를 선택해야 컴파일 시 읽을 수 있다)
+++
발생할 수 있는 에러 상황 1
Failed to emit precompiled header for bridging header
발생할 수 있는 에러 상황 2
<DaumMap/MTMapView.h> 를 찾지 못함
검색 결과, 실행 iOS버전이 맞지 않았다, Product의 scheme에서 설정이 안되어있었다, 오타다 등 다양한 답변이 있었지만 도움되지 않았다. 그래서 곰곰히 생각하고...
bridging header 파일에서 MTMapView.h을 왜 찾지 못한다는 것은 경로 문제임을 찾아냈다. 그래서 SDK 프레임워크를 추가할 때 신경 써 줄 것! 얼마나 삽질한지 모르겠으나 😭 구글링이 우선이 아니라 생각을 먼저 하는게 중요하구나, 새삼 깨달았다.
3. 나머지 프레임워크 추가
> 설정 페이지 - Frameworks, Libraries, and Embedded Content
> 아래 프레임워크 추가해주기 (+기호 클릭)
- OpenGLES.framework
- SystemConfigure.framework
- CoreLocation.framework
- QuartzCore.framework
- libc++.tbd
- libxml2.tbd
- libsqlite3.tbd
4. Kakao key 등록
> Info.plist
> 오른쪽 마우스 - Add row
> Key : KAKAO_APP_KEY, Type : String, Value : 카카오 개발자 센터에서 받은 네이티브 앱 키
5. ARC 설정
> 설정 - Build Settings(Basic) - Apple Clang-Language-Objective-C
> Objectvie-C Automatic Reference Counting의 값을 YES에서 NO로 변경
6. Objective-C import 하기 (Bridging Header 생성)
> 프로젝트에 새로운 파일 Header File 추가
> 아래 코드 작성
#ifndef bridging_header_h
#define bridging_header_h
#import <DaumMap/MTMapView.h> // 이 부분 추가
#endif
> 설정 - Build Settings - Swift Compiler-General
> Objective-C-Bridging Header에 헤더파일 이름 타이핑 (상대경로 작성 시, 안되면 절대경로로 해볼 것)
'iOS 개발일지' 카테고리의 다른 글
[iOS] 환율계산기 4 - 업데이트 1.1 (0) | 2020.05.13 |
---|---|
[iOS] 환율계산기3 - 회고 (0) | 2020.04.30 |
[iOS] 계산기만들기 D+5 (0) | 2020.03.26 |
[iOS] 환율계산기1 (0) | 2020.03.24 |
[iOS] 계산기만들기 D+4 (0) | 2020.03.12 |