일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- github
- 한글
- stack
- Apple
- 웹뷰
- JPA
- Swift
- geofencing
- mac
- UIButton
- appstore
- window
- Notification
- 개발자
- Archive
- Firebase
- iOS16
- MacOS
- error
- Git
- view
- FLUTTER
- rxswift
- Code
- Xcode
- Realm
- darkmode
- SwiftUI
- Session
- IOS
- Today
- Total
목록IOS (174)
EEYatHo 앱 깎는 이야기
설정 화면으로 이동할 수 있는 URL 애플에서 설정창으로 이동할 수 있는 URL을 String으로 지원해준다. UIApplication.openSettingURLString 이다. 해당 URL을 open하면 앱의 설정화면으로 이동한다. 관련 애플 문서 Open하는 예시 코드 guard let url = URL(string: UIApplication.openSettingsURLString) else { return } if UIApplication.shared.canOpenURL(url) { UIApplication.shared.opne(url) }
[ 요약 ] 컨트롤러를 찾아서 그 뷰에 띄우지 말고, Window 위에 띄워라. [ 개요 ] Popup 관리 모듈을 만들때의 일. (PopupManager) 팝업을 띄워주기위해 현재 화면에 보이는 뷰컨트롤러를 찾아야한다고 생각했다. 그래서 구글링해서 찾은 소스. (visibleViewController, selectedViewController, presentedViewController를 활용해 DFS로 찾아준다.) class func topViewController(base: UIViewController? = UIApplication.shared.keyWindow?.rootViewController) -> UIViewController? { // return base if let nav = bas..
여태껏 단순히 한방향으로 움직이고, 움직이는 속도를 조절하는 애니메이션만 알고있었다. 그런데 목표지점에 도착한 뒤, 살짝 튕기고 제자리로 돌아오는 일명 스프링 효과가 있었단걸 알았다. usingSpringWithDamping 0.0 ~ 1.0 0.0에 가까울수록 심하게 튕기고, 1.0이면 튕기지 않는다 initialSpringVelocity 0.0 ~ 1.0 0.0에 가까울수록 튕길 때 속도가 빠르다 예시 ) UIView.animate(withDuration: 0.1, delay: 0, animations: { // 일단 밑에 레이아웃하기 위한 버퍼 애니메이션 container.alpha = 1 }, completion: { _ in UIView.animate(withDuration: 0.5, delay..
디자인팀의 요구사항은, 올라왔다가 내려가는 Toast. Frame으로 Animate하는거야 뭐 아주 쉽다. 그런데 Label의 줄 수에 따라 동적으로 높이가 변하는 Toast. 때문에 FrameBasedLayout이 아닌, AutoLayout을 사용한다. AutoLayout Animate로 리서칭을 하였는데, animate 밖에서 Constraint 수정하고, animate 안에서 layoutIfNeeded() 하기? 잘 안되면 setNeedsUpdateConstraints() 하기? 다 필요없다 animate 함수 안에 아래처럼만 해주면 된다. 갓갓 SnapKit.. ( 진작에 SnapKit Animate로 검색할걸 ㅇㄴㅁㄹㄴㅁㅇㅁㄹㅁㄴ ) UIView.animate(withDuration: 1.0, ..
라이브러리 iOS에서의 라이브러리 : 프로그램이 연결할 수 있는 패키징된 객체 파일들의 모음 정적(Static) 라이브러리와 공유(Share) 라이브러리가 있음. ( = 동적 라이브러리 ) 정적 라이브러리 - 라이브러리가 주된(main) 실행파일의 코드에 패킹되어 있음. - 빌드 시스템이 가장 단순. - 실행 프로그램에 코드가 물리적으로 복사되어 올라감. 공유(동적) 라이브러리 - 링커에 라이브러리의 참조만 저장. - 프로그램이 실행중에 공유 라이브러리가 필요한 순간에 메모리에 로드. - 심볼과 참조를 결정짓고 해당 라이브러리를 사용. - macOS에서 공유 라이브러리의 확장자는 .dylib 프레임워크 라이브러리는 단순히 실행가능한 코드이지만, 프레임워크는 공유라이브러리 + 헤더 + 각종 리소스를 포함하..
1. 하드웨어 HW Apple은 하드웨어로 매킨토시(macOS가 들어가는 컴퓨터), 아이폰(iOS가 들어가는 스마트폰, 패드)을 만들었고, 2. 운영체제 OS 이 하드웨어에서 사용할 운영체제인 macOS(과거엔 OS X였지만 Siera부터 명명이 바뀌었음)와 iOS를 만들었다. 3. 프로그래밍 언어 PL 이 OS들은 처음에 Objective-C를 표준언어로 채택하였다. (처음 설계부터 옵씨로 작동하게 하려고 만들었음 -> 옵씨의 실행속도가 가장 빠름) 하지만 사람들이 옵씨를 너무 어려워하고 비직관적이라고 비판하자, 옵씨를 래핑한 Swift라는 프로그래밍 랭귀지(PL)를 만들었다. 4. 통합 개발 환경 IDE 애플은 HW -> OS -> PL 에 이어서, 갖가지 도구와 최적화를 제공하는 IDE를 만들었으니..