본문 바로가기

ios

(14)
Kakao Maps API with Swift iOS에서 카카오맵을 연동해보겠습니다. 다음 링크를 가서 SDK를 다운받고 설명을 읽어봅니다. https://apis.map.kakao.com/ios/guide/ 파일의 이름에 DaumMap이라고 나와 있네요. 이름 바꿀 생각도 없고, Swift로 제공할 생각도 없어보입니다. 네이버는 CocoaPods로 제공하던데 카카오는 좀 귀찮네요. 파일을 다운받았으면 다음 링크에서 키를 발급 받습니다. https://developers.kakao.com/ Kakao Developers 카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다. developers.kakao.com 어플리케이션을 추가하고 iOS 플랫폼을 등록합니다. 앱..
Alamofire 간단하게 사용하기 Rest API를 호출하기 위해 가장 유명한 Swift 라이브러리인 Alamofire를 사용해보겠습니다. Alamofire에 대한 정보는 다음 주소에서 확인할 수 있습니다. https://github.com/Alamofire/Alamofire Alamofire/Alamofire Elegant HTTP Networking in Swift. Contribute to Alamofire/Alamofire development by creating an account on GitHub. github.com 우선 CocoaPods를 이용하여 설치를 진행하겠습니다. 테스트에 사용할 API를 curl을 통해 다음과 같이 확인하였습니다. 이제 확인한 API를 Alamofire를 통해 사용해보겠습니다. // // Rest..
Xcode 에서 GitLab 연동하기 처음에 Xcode를 사용할때는 SVN연동도 메뉴가 존재했었는데 (이때 기억으로는 처음엔 콘솔에서 CheckOut해서 진행했던걸로 기억하는데 많이 편하네요.) 이제 없으지고 다음과 같은 모습으로 바뀌었습니다. 사용하고 있는 Xcode 버전은 다음과 같습니다. (Version 11.4.1 (11E503a)) 우선 GitLab에 연결하기 위해서는 Personal Access Token 이란게 필요합니다. 브라우저에서 GitLab 에 접속하여 Token을 생성합니다. 토큰을 생성하는 메뉴는 오른쪽 상단 아이콘을 눌러 사용자 컨텍스트 메뉴를 보면 Settings라는 메뉴를 클릭합니다. 클릭하면 왼쪽 사이드에 메뉴가 나타나는데 메뉴중에 보면 Access Tokens 라는 메뉴가 있습니다. 오른쪽에서 이름을 넣고 필..
위치서비스를 위한 권한 상태값 가져오기 위치서비스를 사용할 때 사용자에게 요청한 권한에 대한 상태값 정보가 필요할때가 있습니다. 이 상태정보는 코어로케이션의 CLLocationManager.authorizationStatus() 함수를 통해 알아낼 수 있습니다. enum CLAuthorizationStatus rawValue value description 0 notDetermined 사용자가 아직 아무런 결정도 하지 않은 상태 1 restricted 위치정보를 사용할 수 있는 권한이 없는 상태 2 denied 사용자가 권한을 명시적으로 거부했거나 설정에서 위치 서비스가 비활성화되어 있는 상태, 위치접근허용: 안 함 3 authorizedAlways 사용자가 언제든지 자신의 위치를 사용할 수 있는 권한이 있는 상태, 위치접근허용: 항상 4 a..
Location updates in Background Modes 위치정보를 Background Modes에서 가져오는 것을 구현해보겠습니다. 다음 그림과 같이 Capabilities에서 Location updates를 체크합니다. info.plist에 다음을 정의합니다. 테스트가 아니고 실제 정보를 입력할때는 사용자에게 보이는 정보니 왜 위치정보를 얻기위한 권한이 필요한지 설명을 넣어주면 됩니다. NSLocationWhenInUseUsageDescription When In Use Usage NSLocationAlwaysAndWhenInUseUsageDescription Always and When In Use Usage 2개다 정의해야 되면 하지 않으면 콘솔에 다음과 같은 오류 메시지가 나옵니다. This app has attempted to access priva..
Migration in Realm Realm 데이터베이스를 다음과 같은 Schema로 사용하고 있었습니다. 이 Schema에 데이터 생성일자 컬럼을 추가하고 싶어 다음과 같이 Model객체를 수정하였습니다. // // LocationInfo.swift // Sample // // Created by francis on 2020/04/10. // Copyright © 2020 Aircook. All rights reserved. // import RealmSwift @objcMembers class LocationInfo: Object, NSCopying { dynamic var id: Int = 0 dynamic var latitude: String = "0.0000000" dynamic var longitude: String = "0...
Use Realm in Swift 아이폰 내부에서 자료를 저장해야 될 필요가 생겼습니다. CoreData는 사용할 생각도 안했고, UserDefaults, SQLite 직접 사용등을 고민하다 Realm이란 오픈소스 데이터베이스를 발견하여 사용해보기로 하고 샘플 코드를 작성해 보았습니다. 다음 링크를 가보면 알 수 있지만 Java, Kotlin, Swift, Objective-C, JavaScript에서 사용이 가능할 정도로 많은 플랫폼을 지원해주고 있으며, ORM형태로 코드를 작성하여 데이터를 관리합니다. 여러 글들을 읽어보면 속도가 아주 빠르다고 합니다. 그래서 사용해보자고 결심했습니다. ㅎㅎ https://realm.io/kr/products/realm-database/ Realm Database Loved by developers ..
Tab Bar 사라지게 하는 방법 storyboard를 이용하여 앱을 개발할 때 Tab Bar Controller와 Navigation Controller를 동시에 이용할때가 있습니다. 그럼 다음 과 같은 구조가 만들어지는데 이때 상세화면에 들어갔을때(Show(e. g. Push)될때) Tab Bar가 사리지게 만들고 싶으면 사라져야 되는 화면의 View Controller Layout 속성중에 Hide Bottom bar on Push를 체크합니다. 정말 오래만의 포스팅인데 게을러서 이런거다. 사소한거라도 자주 정리하자.