Project/Swift+WebView
-
iOS/WebView/Project - Firebase 푸시 알림#15Project/Swift+WebView 2023. 2. 3. 10:40
Swift 기반에 FCM(Firebase Cloud Messaging) 푸시 알림을 설정해 보자! 1. 파이어 베이스 설정 https://dchkang83.tistory.com/132 iOS/Xcode 14X - Firebase 푸시 알림 설정#1 Swift 기반에 FCM(Firebase Cloud Messaging) 푸시 알림을 설정해 보자! App Store 개발자 계정 생성 안드로이드는 상관 없지만 IOS는 App Store 개발자 계정이 없으면 진행이 불가하다고 한다. 먼저 https://firebase. dchkang83.tistory.com 2. 애플 개발자 & Xcode 설정 및 발송 https://dchkang83.tistory.com/133 iOS/Xcode 14X - Firebase 푸..
-
iOS/WebView/Project - 웹뷰 localhost 표시#14Project/Swift+WebView 2023. 2. 1. 19:18
IOS/Xcode 14X Swift5.7.2 WKWebView 에서 작업 진행 맥북 로컬호스트 아이피 확인 https://dchkang83.tistory.com/148 MacOS/맥북 ip 주소 확인 방법 방법1. 시스템 환경설정 맥북 -> 시스템 설정 네트워크 USB ~~ LAN 2 영역 클릭 방법2. 터미널 $ ipconfig getifaddr en0 $ ifconfig | grep inet dchkang83.tistory.com Const에 확인 한 로컬 아이피 주소로 변경해 준다. 로컬 웹서버 URL을 웹뷰에 노출되도록 해준다. 로컬 서버로 정상으로 나오는것이 확인 된다.
-
iOS/WebView/Project - 웹뷰 JS 양방향 통신#13Project/Swift+WebView 2023. 1. 20. 11:14
웹뷰를 이용한 하이브리드앱을 개발할 시 네이티브와 웹의 상호 작용하는 부분들이 생각보다 많습니다. 팝업 & 로그인 세션 & JWT 토큰 등 이벤트를 캐치해서 처리하는 경우 인터페이스를 정의해서 일련의 규칙을 정하여 개발하지 않으면 개발이 산으로 갈 수밖에 없고 유지보수도 상당히 어려울 것입니다. 이러한 부분들을 가능하게 해주는 부분들에 대해서 처리해 볼 것입니다. 기본적으로 WKUserContentController을 사용하여서 가능하며 코드로서 생성하는 것이 좋다고 합니다. 웹뷰 초기화 함수의 configuration속성을 사용해야 하는데 스토리 보드로는 해당 속성을 사용 못하기 때문입니다. 여러 사이트를 참조하여 아래 코드를 완성였습니다. 참조 블로그 님들 감사드립니다. MainViewControll..
-
iOS/WebView/Project - 화면전환 및 웹뷰 적용#12Project/Swift+WebView 2023. 1. 18. 12:25
IOS/Xcode 14X Swift5.7.2 WKWebView 에서 작업 진행 https://github.com/dchkang83/ios-webview-project/releases/tag/1.0 Release 1.0 · dchkang83/ios-webview-project github.com 화면 전환 방법에는 대표적으로 네 가지 방법이 있다. ViewController의 view 바꿔치기 ViewController가 다른 ViewController를 호출(present) NavigationViewController 사용하여 화면 전환(push) 화면 전환용 객체 Segue 사용 아래 포스팅에 각각의 전환 방식에 대해서 설명되어 있다. https://dchkang83.tistory.com/126 IOS..
-
iOS/WebView/Project - 서버별 테스트 환경 만들기#11Project/Swift+WebView 2023. 1. 13. 16:16
IOS/Xcode 14X Swift5.7.2 WKWebView 에서 작업 진행 이번장에서는 지난 블로그에서 설정한 Constants(상수) 및 AppInfo(싱글톤)를 활용하여 웹뷰에 나타나는 웹서버를 변경할 수 있도록하여 디버깅 및 앱에 대한 테스트 편의성을 높혀보자. 앱 실행 환경에 따라 다른 진입 운영 환경 : 앱 실행 -> 슬플래시 이미지 -> 로컬/개발/스테이징/운영을 선택할 수 있도록 한다. 디버깅 환경 : 앱 실행 -> 슬플래시 이미지 -> 운영 웹뷰 노출 작업 진행 먼저 ViewController의 생명주기(Life Cycle) 중 viewDidAppear 함수에 서버를 선택하는 UIAlertController를 설정할 것이다. https://dchkang83.tistory.com/109 ..
-
iOS/WebView/Project - Constants 및 Utils 분리#10Project/Swift+WebView 2023. 1. 13. 15:30
IOS/Xcode 14X Swift5.7.2 WKWebView 에서 작업 진행 상수 추가 가독성 및 유지보수를 위해서 상수를 추가한다. import Foundation struct Constants { static let SERVER_LOCAL: String = "LOCALHOST" static let SERVER_DEV: String = "DEVELOPMENT" static let SERVER_STG: String = "STAGING" static let SERVER_PROD: String = "PRODUCTION" static let SERVERS = [ SERVER_LOCAL: [ "NAME": "로컬", "URL": "http://local" ], SERVER_DEV: [ "NAME": "개발",..
-
iOS/WebView/Project - 싱글톤 패턴 AppInfo 추가#9Project/Swift+WebView 2023. 1. 12. 09:21
IOS/Xcode 14X Swift5.7.2 WKWebView 에서 작업 진행 싱글톤(Singleton Pattern)이란? 디자인 패턴중에 하나이고 생성자가 여러번 호출되더라도 실제 생성되는 객체는 하나이고 객체를 다시 생성하더라도 이미 생성되어 있는 객체를 리턴한다. DBCP(Database Connection Pool)와 같은 상황에서 많이 사용된다. 싱글톤 장점 Instance를 최초 1회 생성하므로 메모리와 성능적인 측면에서 효율이 좋다. Singleton Instance는 전역 Instance로 다른 클래스들과 데이터 공유가 쉽다. Instance가 1개라는 것을 보증받는다. (Thread Safe) 싱글톤 단점 Singleton Instance로 많은 데이터를 공유 시킬 경우 다른클래스의 결..
-
iOS/WebView/Project - BaseViewController 모듈화#8Project/Swift+WebView 2023. 1. 11. 11:25
IOS/Xcode 14X Swift5.7.2 WKWebView 에서 작업 진행 모든 ViewController들이 상속 받을수 있는 BaseViewController를 만들어서 사용하자. 코드의 중복을 줄이기 위해서 코드의 통일성 유지보수 편의성 BaseViewController import Foundation import UIKit class BaseViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view. print("######### [BASE] ViewController - viewDidLoad") } } exten..