일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- UIButton
- 이미지
- Xcode
- JPA
- Swift
- Code
- FLUTTER
- error
- window
- MacOS
- appstore
- view
- Archive
- geofencing
- Firebase
- IOS
- Realm
- SwiftUI
- Git
- darkmode
- github
- Session
- iOS16
- mac
- 한글
- Apple
- rxswift
- Notification
- 웹뷰
- 개발자
- Today
- Total
목록IOS (176)
EEYatHo 앱 깎는 이야기
카카오 로그인 iOS 서버 2중 인증에 이어서 구글이다. [ 카카오 로그인 iOS 서버 2중 인증 글 바로가기 ] iOS, Swift, SNS로그인 서버 2중 인증(카카오 로그인 iOS-서버 2중 인증) 열심히 iOS + 서버개발 인턴 하는 중. 시니어 개발자분이 말씀하시길! iOS에서 SNS 로그인으로 토큰을 받고, 서버에 넘겨주면, (토큰의 종류는 SNS마다 다름) 서버는 받은 토큰으로 SNS 서버에 유효성 eeyatho.tistory.com [ 2. 구글 ] 구글은 카카오와 비슷하다. 오픈 API를 이용하여 로그인 할 때, delegate로 user를 받아오는데, user.authentication.idToken 을 이용하면 된다. /// 구글 로그인 버튼 클릭 -> Delegate로 이어짐 @ob..
열심히 iOS + 서버개발 인턴 하는 중. 시니어 개발자분이 말씀하시길! iOS에서 SNS 로그인으로 토큰을 받고, 서버에 넘겨주면, 서버는 받은 토큰으로 SNS 서버에 유효성을 검증한 뒤, ( + 프로필 정보를 새로 뽑은 뒤 ) '어 유효한 유저맞네~' 하고 우리가 관리하는 JWT Token을 넘겨주는게 국룰이라 하심. 이렇게 2중으로 인증하는 걸 구현 해야하는 SNS는 카카오, 구글, 애플 3종류... ㅇㅋ 하믄되지.. [ 1. 카카오 ] 우선 카카오다. 카카오의 오픈 API를 이용하여 로그인 할 때, 핸들러로 oauthToken를 받아오는데, ( 변수명 from 카카오 문서 ) 얘가 가진 accessToken을 이용하면 된다. let serviceTerms = ["tag1", "tag2"] Auth..
설정 화면으로 이동할 수 있는 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를 만들었으니..