iOS
-
iOS 13에서 리뉴얼된 위치 정보 변경 필독 사항 2 - 위치정보 한 번 허용iOS 2020. 3. 7. 15:43
이전 포스트와 이어집니다. https://sesang06.tistory.com/174 iOS 13에서 리뉴얼된 위치 정보 변경 필독 사항 1 - 위치정보 지연된 항상 허용 iOS 13에서는 위치정보 요청이 복잡하게 변경되었습니다. 이번 포스트에는 "항상 허용"의 변화에 대해서 살펴보겠습니다. 시작 앱의 위치 정보 권한을 상태를 나타내는 enum CLAuthorizationStatus 에는 다섯 가지.. sesang06.tistory.com 시작 iOS 13에서 위치 정보 권한을 요청하면, 한 번 허용 이라는 선지가 새로 등장합니다. 한 번 허용을 누르고, func locationManager( _ manager: CLLocationManager, didChangeAuthorization status: C..
-
iOS 13에서 리뉴얼된 위치 정보 변경 필독 사항 1 - 위치정보 지연된 항상 허용iOS 2020. 3. 7. 15:08
iOS 13에서는 위치정보 요청이 복잡하게 변경되었습니다. 이번 포스트에는 "항상 허용"의 변화에 대해서 살펴보겠습니다. 시작 앱의 위치 정보 권한을 상태를 나타내는 enum CLAuthorizationStatus 에는 다섯 가지가 있습니다. notDetermined : 위치 권한을 요청받지 않음 restrict : 기기 설정에서 유저가 모든 앱이 위치 설정을 사용할 수 없게 꺼 버림 denied : 유저가 위치 정보를 이 앱이 접근하는 것을 거부함 authorizedAlways : 유저가 이 앱이 백그라운드에서도 위치 정보에 접근할 수 있도록 허용함 authorizedWhenInUse : 유저가 이 앱이 포그라운드에서 위치 정보에 접근할 수 있도록 허용함 이 중 authorizedAlways 권한을 얻..
-
UIWebView 를 WKWebView 로 이전할 때 반드시 알아야 하는 7가지 주의 사항iOS 2020. 2. 28. 03:17
작년 9월경부터, 앱을 테스트플라이트에 올리면 메일로 이런 메일이 오기 시작했습니다. Dear Developer, We identified one or more issues with a recent delivery for your app. Your delivery was successful, but you may wish to correct the following issues in your next delivery: ITMS-90809: Deprecated API Usage - Apple will stop accepting submissions of apps that use UIWebView APIs starting from December 2020 . See https://developer.apple..
-
UICollectionViewDiffableDataSource, UITableViewDiffableDataSource 로 깔끔한 콜렉션 뷰 데이터 관리하기iOS 2020. 2. 26. 01:36
서문 iOS 13 이상에서는 'UITableViewDiffableDataSource, UICollectionViewDiffableDataSource'이 새로 생겼습니다. https://developer.apple.com/documentation/uikit/uitableviewdiffabledatasource 기존에 테이블뷰와 콜렉션뷰의 데이터는 적당한 NSObject 클래스에, UICollectionViewDataSource 을 설정해 주는 방식으로 구현하고 있었습니다. 데이터가 바뀌면, 어느 indexPath 가 바뀌었는지 개발자가 판단하여 insertItems(at:) 등의 적절한 함수를 호출하곤 했습니다. 그런데 만약, 개발자가 판단한 데이터의 변동과, 실제 변동의 값이 다르다면... 이런 식으로,..
-
iOS, Android WebView 와 네이티브간의 유용한 통신 방법 - Javascript Interface, Webkit MessagingiOS 2020. 2. 20. 00:30
개발하고 있는 프로젝트에서 웹뷰는 상당한 레거시로 내려들어왔습니다. 하이브리드로 앱이 개발되었을 시절에 생긴 클라이언트와 백엔드, 웹프론트의 레거시란 레거시가 모두 집약되어 나타나 있습니다. 현재 프로젝트에서 웹뷰와 네이티브가 서로 통신할 때에는 window.location = "sample://action?argument1=2&argument2=2" 형식의 url 을 프론트에서 실행하면, 웹뷰에서 받아서 적절한 네이티브 액션을 실행시키는 것으로 유지보수되어 있습니다. 이 방법은 자주 쓰였지만, 아래와 같은 문제를 가지고 있었습니다. 자바스크립트 로딩을 할 때, window.location 의 실행을 항상 보장하지 않는다. 제가 자바스크립트를 정확히 아는 것은 아니지만, 프론트엔드 개발자 분들의 말에 따..
-
IOS 에서 머터리얼 디자인의 물결 이펙트 버튼 만들기iOS 2019. 12. 26. 01:35
안드로이드의 기본 컴포넌트 버튼 Button의 경우, 별다른 설정을 하지 않아도 클릭할 때 물결 모양이 나타납니다. 반면에, iOS 버튼 UIButton의 경우, 클릭할 시에 물결 설정이 없습니다. https://developer.apple.com/documentation/uikit/uicontrol/1618231-ishighlighted isHighlighted - UIControl | Apple Developer Documentation Instance Property isHighlighted A Boolean value indicating whether the control draws a highlight. Declarationvar isHighlighted: Bool { get set } Disc..
-
Let Swift 2019 탐방 견문록, 정기 iOS 개발 행사를 엿보다iOS 2019. 11. 17. 15:59
Let Swift 2019 탐방 견문록 베일에 싸인 신비로운 개발 연회, 레츠 스위프트의 이면을 엿보다 서문 베일에 싸인 신비로운 개발 연회, 레츠 스위프트의 이면을 엿보다 저번 let us: go! 2019 summer에서도 말한 바가 있었습니다만, iOS 개발자 행사는 그렇게 많지 않습니다. let us: go! 가 iOS Developer Korea 가 분기별로 진행한다고 합니다. 반면에 Let Swift는 OSXDev.org (https://www.facebook.com/groups/osxdevorg/) 가 연별로 진행됩니다. 다만 해당 그룹이 활성화되어 있는 편이 아니기 때문에, 보통 페이스북 그룹 Swift Korea(https://www.facebook.com/groups/swiftkor/)..
-
iOS 13을 대응해야 하는 개발자가 알아야 하는 8가지 급한 불 리스트iOS 2019. 8. 30. 17:22
iOS 13 릴리즈는 9월 10일에서 9월 20일로 예상됩니다. iOS 13 에 맞추어 대응해야 하는 리스트를 정리했습니다. 1. Modal Presentation Style에 automatic 추가 대응 iOS 13 부터 'automatic' 이 새로 생겨났습니다. automatic 은 가로 방향 기기에서는 'fullScreen', 세로 방향 기기에서는 'pageSheet' 방식으로 동작합니다. 원래 모달 프리젠트 방식에서 유의미한 차이를 보이는 것은 'fullScreen', 'currentContext', 'overFullScreen', 'overCurrentContext' 네 가지였습니다. 'fullScreen'은 스크린 전체를 뒤덮는 모달 프리젠테이션 방식이고, 'currentContext' 는 ..