본문 바로가기

728x90
728x90

EXPERIENCE/iOS

(22)
[Xcode/iOS] 간단한 예제로 Protocol 구현해보기 (with. SwiftUI) 프로토콜(Protocol)이란? 특정 작업 혹은 기능에 적합한 메소드, 프로퍼티, 기타 요구사항들의 청사진 특징 클래스, 구조체, 열거형에서 채택될 수 있음 여러개의 프로토콜을 동시에 채택할 수 있음 프로토콜은 이름과 타입만이 지정될 뿐 상세한 내용은 구현하지 않는다 예제 protocol FullyNamed { static var firstName : String { get set } var mddleName : String { get set } var fullName: String { get } func getName() -> String mutating func toggleName() init(middleName: String) } 예제 결과화면 구현 Money.swift import Foundati..
iOS/Swift 직무를 위한 면접 질문리스트(with. ARC, GCD, Dispatch Queue, 접근제어, 메모리 참조) iOS 직무 면접을 대비한 질문 리스트를 작성해두신 분들이 많아서, 해당 질문에 대한 답변을 정리해보며 기본 지식을 익히고 면접을 대비해보고자 한다......... 읽고 그렇구나! 하는 것은 쉽지만... 완벽하게 이해하여 남에게 다시 설명하는 것은 너무나도 어려운 것 ㅜㅜ open, public, Internal, fileprivate, private 각 접근레벨에 대해 설명하시오 더보기 접근레벨 open 선언된 모듈이 아닌 다른 모듈에서도 사용 가능, 다른 모듈에서 Override 및 서브 클래싱 가능 public 선언된 모듈이 아닌 다른 모듈에서도 사용 가능 Internal 기본 접근레벨, 모듈 전체에서 사용 가능 fileprivate 특정 엔티티를 선언한 파일 안에서만 사용 가능 private 특정..
[Xcode/iOS] SwiftUI XCTest를 이용하여 기능과 UI 유닛/단위테스트(Unit Test) 구현하기 (with. TDD) 오늘은 예전부터 해야지해야지 했던 TDD를 아주 간단하게만 사용해보았다. 비동기랑 UI부분도 유닛테스트가 가능하다고 하는데 비동기는 추후 좀 더 큰 프로젝트를 진행하면서 사용해볼예정이고, 이번에는 숫자야구게임 프로젝트를 만들어서 간단히 기능 부분이나 UI부분만 Unit Test를 찍먹 해보려고한다! 코드는 Apple에서 제공하는 유닛 테스트 프레임워크인 XCTest를 이용해 작성하였다 :) 프로젝트 동작 결과화면 Github GitHub - sohay19/TDD: practice TDD practice TDD. Contribute to sohay19/TDD development by creating an account on GitHub. github.com XCTest, Unit Test 작성 전 알아보..
[Xcode/iOS] SwiftUI 웹뷰(WebView)와 사파리(Safari)로 페이지 화면가져오는 코드 구현해보기 (with. Safari URL 변경 안될 때) 간단하지만 꼭 사용하게 되는 웹뷰 기능 iOS는 2~3가지 구현 방법이 있다고 하는데 그 중 2가지를 살펴보고자 한다. 첫번째는 가장 일반적인 WKWebView 라이브러리를 사용하는 방법이다. 두번째는 Safari와 같은 환경으로 보여주는 SafariService 프레임워크를 사용하는 방법이다. 두개 다 크게 어려운건 없었기에 아래 간단히 결과화면과 코드 설명만 작성해본다. 결과화면 좌측은 Safari 환경이 적용된 SFSafariViewController로 구현한 모습이고, 우측은 WKWebView를 이용해 구현한 웹뷰이다. Github GitHub - sohay19/WebView: Example WebView Example WebView. Contribute to sohay19/WebView deve..
[Xcode/iOS] SwiftUI 구글(Google)로그인 구현하고 정보 가져오기 저번에 구글로그인 구현하는 글을 작성했는데, 해당 방법은 스토리보드(StoryBoard)를 사용한 방법이었다. 오늘은 SwiftUI를 사용해서 구글 로그인을 진행할 예정이며, 코드 구현 전 기본 세팅은 방법이 동일하기에 이전 글을 참고 하면 된다 :) 사전 세팅 방법 [Xcode/iOS] Swift 구글(Google)로그인 스토리보드(StoryBoard)로 구현하기 구글, 애플, 카카오, 네이버 각종 소셜로그인을 모두 구현하여 포스팅 해볼 예정이다! 오늘은 첫번째로 구글 로그인을 준비했으며 추후 SwiftUI로 구현한 내용도 업로드할 예정이다 :) 결과화면 Doc s-o-h-a.tistory.com 결과화면 Document iOS 및 macOS용 Google 로그인 시작하기 | Authentication..
[Xcode/iOS] CocoaPods pod init, Podfile 생성 시 Error 해결방법 Xcode 14.2 beta 버전으로 업데이트 후, Podfile을 생성하던 중 아래와 같은 오류를 만났다 force_encoding' can't modify frozen string (frozenerror)... 아직 베타버전이라 발생하는 문제인 것 같고, 일시적인 해결법 밖에 없는 것 같아 우선 이렇게 해결했다. 해결방법 1. 프로젝트 파일 클릭 2. 인스펙터 창의 Project Format에서 Xcode 13.0 -compatible 선택 참고사이트 Pod Init Error: "force_encoding': can't modify frozen String (FrozenError)" - at iOS I encounter this error when I issue a "pod init" command..
[Xcode/iOS] 프로젝트 이름 변경 (with. CocoaPods) 종종 생기는 아주 귀찮은 사건.. 프로젝트 이름 변경..... cocoaPods까지 사용한다면 더욱 더 번거롭지만.. 추후 또 발생할 것 같아 미리 메모해본다 ㅜㅜ 프로젝트 이름 변경 프로젝트 파일 변경 1. 프로젝트 파일을 선택한 후 엔터 클릭 2. 원하는 프로젝트 명으로 변경 3. Rename 선택 스키마 변경 1. Product > Scheme > Manage Schemes... 선택 2. 행 선택 후 엔터 3. 변경한 프로젝트 명을 입력 폴더명 변경 1. 실제 프로젝트 폴더 위치로 이동 2. 프로젝트 폴더 이름을 2개 모두 변경 3. Xcode를 재실행한 후 프로젝트 파일 하단의 폴더 선택 4. 인스펙터 창에서 빨간 박스의 폴더 선택 버튼을 클릭 5. 변경된 이름의 해당 폴더 선택 Build Se..
[Xcode/iOS] Swift 구글(Google)로그인 스토리보드(StoryBoard)로 구현하고 정보 가져오기 구글, 애플, 카카오, 네이버 각종 소셜로그인을 모두 구현하여 포스팅 해볼 예정이다! 오늘은 첫번째로 구글 로그인을 준비했으며 추후 SwiftUI로 구현한 내용도 업로드할 예정이다 :) 결과화면 Document iOS 및 macOS용 Google 로그인 시작하기 | Authentication | Google Developers 이 페이지는 Cloud Translation API를 통해 번역되었습니다. Switch to English 의견 보내기 iOS 및 macOS용 Google 로그인 시작하기 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류 developers.google.com Github GitHub - sohay19/Social-Login: Social Login Socia..

728x90
728x90