일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Code
- appstore
- MacOS
- github
- Git
- UIButton
- rxswift
- Xcode
- stack
- darkmode
- mac
- Firebase
- view
- geofencing
- window
- FLUTTER
- Notification
- IOS
- 웹뷰
- SwiftUI
- Archive
- error
- Swift
- Session
- Apple
- JPA
- iOS16
- 개발자
- 한글
- Realm
- Today
- Total
목록IOS (174)
EEYatHo 앱 깎는 이야기
일일히 버튼 만들고 선택 상태에서 UI 바꾸고.. 그러다가 UISwitch 란걸 알게되었다. 넘무 좋아 누르면 알아서 상태바뀌고, 상태 저장도 해주고, 애니메이션까지?! 세상에 네상에 UISwitch 선언 private lazy var pushSwitch: UISwitch = { let mySwitch = UISwitch() mySwitch.onTintColor = Resource.Color.bgYellow02 mySwitch.thumbTintColor = Resource.Color.orange06 mySwitch.addTarget(self, action: #selector(onClickSwitch(sender:)), for: .valueChanged) return mySwitch }() + 스위치 선택..
UISearchBar 선언부 lazy var searchBar: UISearchBar = { let searchbar = UISearchBar() let placeholderText = "검색어를 입력해 주세요." searchbar.placeholder = placeholderText if let textField = searchbar.value(forKey: "searchField") as? UITextField { textField.backgroundColor = .white if let font = UIFont(name: Resource.Font.NanumSquareRoundR.rawValue, size: 16) { let placeholderAttributedText = NSAttributedSt..
일반적으로 shadow랑 corner radius를 같이하면 적용이 안되는데, Cell은 비교적 쉽게 구현할 수 있다. Cell 안에서 Layout할 때, func setupLayout() { layer.shadowColor = UIColor.black.cgColor layer.shadowOpacity = 0.5 layer.shadowRadius = 10 contentView.layer.cornerRadius = 10 contentView.layer.masksToBounds = true } 이렇게, Cell 에 shadow를 넣고, Cell의 contentView에 corner radius를 넣으면 된다.
URL, Data, FileManager...... 꽤나 많은 삽질을 했지만 간단했다.. 그냥 xcode프로젝트에 에 xml파일 넣어주고, if let path = Bundle.main.url(forResource: "[XML파일이름(확장자 없이)]", withExtension: "xml") { if let parser = XMLParser(contentsOf: path) { parser.delegate = self parser.parse() } } 이거하면 파싱 시작 됩니다. 그럼 델리게이트에서 ... 태그단위로 쭉쭉 뽑혀나옵니다. 간혈적으로 이상하게 뽑힌다거나 \n을 이상하게 처리한다거나 해서 오류처리 빡심..ㅜ
[ NotificationCenter로 백그라운드 감지 ] if #available(iOS 13.0, *) { NotificationCenter.default.addObserver(self, selector: #selector(taskFunc), name: UIScene.willDeactivateNotification, object: nil) } else { NotificationCenter.default.addObserver(self, selector: #selector(taskFunc), name: UIApplication.willResignActiveNotification, object: nil) } [ NotificationCenter로 포그라운드 감지 ] if #available(iOS 13.0..
카카오, 구글 로그인 iOS 서버 2중 인증에 이어서 애플이다. [ 카카오 로그인 iOS 서버 2중 인증 글 바로가기 ] iOS, Swift, SNS로그인 서버 2중 인증(카카오 로그인 iOS-서버 2중 인증) 열심히 iOS + 서버개발 인턴 하는 중. 시니어 개발자분이 말씀하시길! iOS에서 SNS 로그인으로 토큰을 받고, 서버에 넘겨주면, (토큰의 종류는 SNS마다 다름) 서버는 받은 토큰으로 SNS 서버에 유효성 eeyatho.tistory.com [ 구글 로그인 iOS 서버 2중 인증 글 바로가기 ] 구글 Google 로그인 iOS 서버 2중 인증 카카오 로그인 iOS 서버 2중 인증에 이어서 구글이다. [ 카카오 로그인 iOS 서버 2중 인증 글 바로가기 ] eeyatho.tistory.com/..
카카오 로그인 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..