비밀번호를 평문으로 보내면 네트워크를 타고 가는 중에서 비번이 털릴 수도 있다. 그래서 만든것이 RSA encryption! 이렇게 서버개발자가 만들어준 public-key API를 호출해서 publicKey를 받고, encrypted 해준다! 그렇게 해서 나온 encrypted랑, publicKey를 같이 Login시 보내주면 된다. 사용한 라이브러리는 : github.com/TakeScoop/SwiftyRSA extension String { func rsaEncryption(publicKey: String) -> String { let publicKey = try! PublicKey(base64Encoded: publicKey) let clear = try! ClearMessage(string: s..
선택 했을때, 안했을 때! cornerRadius랑 background때문에 약간 고생했다 ㅠ struct GenderStyle: ButtonStyle { @State var isSeleceted: Bool func makeBody(configuration: Configuration) -> some View { configuration.label .padding(.vertical, 12) .padding(.horizontal, 45) .foregroundColor(isSeleceted ? Color.white : Color("coolGrey")) .background(isSeleceted ? Color("lightPeriwinkle") : Color.white) .cornerRadius(8) .overl..
// 웹뷰 약관 보여주기용 struct PolicyView: UIViewRepresentable { var policyType: Policy func makeUIView(context: Context) -> WKWebView { let webView = WKWebView() let request = URLRequest(url: policyType.url) webView.load(request) return webView } func updateUIView(_ uiView: WKWebView, context: Context) {} class Coordinator {} func makeCoordinator() -> Coordinator { return Coordinator() } } enum Policy {..
일단 볼게, 1. navigation 만들기 2. custom backbutton 만들기 3. pop to root view 만들기 4. 코드로 navigation 실행하기 이렇게 4개 할 예정이다! 일단 나는 title이랑 navigationButton을 같이 쓰는 화면이 엄청 많아서, 미리 ViewModifier을 만들어 뒀다. struct BackButtonAndTitle: ViewModifier { var title: String var backButtonAction: () -> () func body(content: Content) -> some View { HStack { Button(action: { self.backButtonAction() }, label: { }).buttonStyle(..
계속 네아로 네아로 하길래 뭔가 했는데 '네이버 아이디로 로그인'이다. 심지어 공식명칭임;;;; [깃허브 링크] github.com/naver/naveridlogin-sdk-ios [사전 준비 사항] developers.naver.com/docs/common/openapiguide/appregister.md [가이드 링크] developers.naver.com/docs/login/ios/ +) 외주사에서 앱 등록 하고 'cliendId'랑 'clientSecret'을 알려달라고 해야한다. 자기가 직접 등록해야한다면 여기 에서 하자! 등록하다보면 '앱 다운로드 URL'을 입력해야 하는데, 아직 배포 전이라면 회사 홈페이지 등을 링크해도 괜찮다. 그리고 알아야 할 부분이, 안드로이드는 로그인 콜백 처리(사용..