728x90
반응형
SMALL

#### 문제 설명

- **문제**: JavaScript에서 입력 필드 초기화 후에도 이전 값이 유지되는 문제가 발생.
- **상황**: 입력 값에 대한 예외 처리를 구현한 후, 초기화가 이루어지지 않아 문제가 발생.
- **확인 사항**: 콘솔 로그를 통해 값 변경이 정상적으로 이루어졌음을 확인했으나, `getElementById` 호출 시 이전 값을 읽어오는 현상 발견.

#### 예외 처리 로직

- 입력 값에 따른 예외 처리 필요:
    - **입력 값 > 보유 포인트**
    - **입력 값 < 보유 포인트**
    - **입력 값 = 보유 포인트**

#### 해결 방안

- 이벤트 리스너를 각 입력 필드에 재등록하여 상태를 업데이트함으로써 문제 해결.
- 아래와 같이 입력 필드에 대한 이벤트 리스너를 추가하여 입력 값 변경 시 적절한 함수를 호출하도록 구현함.

document.getElementById("pointDataInput").addEventListener("input", updatePoint); 
document.getElementById("priceData").addEventListener("input", updatePrice); 
document.getElementById("socData").addEventListener("input", updatePrice);   
document.getElementById("stationFee").addEventListener("input", updatePrice);



#### 추가 조치

- 초기화 함수에서 이벤트 리스너를 재등록하는 로직을 추가하여, 초기화 후에도 정상적으로 동작하도록 수정.
- 예를 들어, `clean` 함수에 이벤트 리스너 재등록 로직을 포함.

728x90
반응형
LIST
728x90
반응형
SMALL

Xcode 에러중 Swift Package Manager 에러발생...!

빌드를 했는데 안되서 보니까 Missing package product 'package name'

1. File > Packages > Reset Packeage Caches 
패키지 캐시를 초기화 시킨다.
그래도 되지 않았을 경우 아래 방법으로 !

2. File > Packages > Update to Latest Package Versions
그리고 난 다음 패키지 버전들을 업데이트 시켜준다.

 

 

 

728x90
반응형
LIST
728x90
반응형
SMALL

전에도 해결한 기억이 나는데…

프로젝트 내에 검색이 되지 않아 터미널로 해당부분을 확인

grep -r UIWebView .

 

터미널을 통해 UIWebView를 검색!!

Binary file ./Pods/naveridlogin-sdk-ios/NaverThirdPartyLogin.xcframework/ios-arm64_x86_64-simulator/dSYMs/NaverThirdPartyLogin.framework.dSYM/Contents/Resources/DWARF/NaverThirdPartyLogin matches
Binary file ./Pods/naveridlogin-sdk-ios/NaverThirdPartyLogin.xcframework/ios-arm64/dSYMs/NaverThirdPartyLogin.framework.dSYM/Contents/Resources/DWARF/NaverThirdPartyLogin matches
./Pods/AppAuth/README.md:for the auth request. `UIWebView` and `WKWebView` are explicitly *not*
./Pods/EZSwiftExtensions/Sources/BlockWebView.swift:open class BlockWebView: UIWebView, UIWebViewDelegate {
./Pods/EZSwiftExtensions/Sources/BlockWebView.swift:    open func webViewDidStartLoad(_ webView: UIWebView) {
./Pods/EZSwiftExtensions/Sources/BlockWebView.swift:    open func webViewDidFinishLoad(_ webView: UIWebView) {
./Pods/EZSwiftExtensions/Sources/BlockWebView.swift:    open func webView(_ webView: UIWebView, didFailLoadWithError error: Error) {
./Pods/EZSwiftExtensions/Sources/BlockWebView.swift:    open func webView(_ webView: UIWebView, shouldStartLoadWith request: URLRequest, navigationType: UIWebViewNavigationType) -> Bool {

BlockWebView 부분에 문제가 발생했고 나머지 친구들은 프레임워크기 때문에 파일만 수정..!

//
//  BlockWebView.swift
//
//
//  Created by Cem Olcay on 12/08/15.
//
//

#if os(iOS)

import UIKit
import WebKit

open class BlockWebView: WKWebView, WKNavigationDelegate {
    open var didStartLoad: ((URLRequest) -> Void)?
    open var didFinishLoad: ((URLRequest) -> Void)?
    open var didFailLoad: ((URLRequest, Error) -> Void)?

    open var shouldStartLoadingRequest: ((URLRequest) -> Bool)?

    public override init(frame: CGRect, configuration: WKWebViewConfiguration) {
        super.init(frame: frame, configuration: configuration)
        navigationDelegate = self
    }

    public required init?(coder aDecoder: NSCoder) {
        let configuration = WKWebViewConfiguration()
        super.init(frame: .zero, configuration: configuration)
        navigationDelegate = self
    }

    open func webView(_ webView: WKWebView, didStartProvisionalNavigation navigation: WKNavigation!) {
        if let request = webView.url.map({ URLRequest(url: $0) }) {
            didStartLoad?(request)
        }
    }

    open func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
        if let request = webView.url.map({ URLRequest(url: $0) }) {
            didFinishLoad?(request)
        }
    }

    open func webView(_ webView: WKWebView, didFail navigation: WKNavigation!, withError error: Error) {
        if let request = webView.url.map({ URLRequest(url: $0) }) {
            didFailLoad?(request, error)
        }
    }

    open func webView(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, decisionHandler: @escaping (WKNavigationActionPolicy) -> Void) {
        if let should = shouldStartLoadingRequest {
            let request = navigationAction.request
            decisionHandler(should(request) ? .allow : .cancel)
        } else {
            decisionHandler(.allow)
        }
    }
}

#endif

 

완료~~

728x90
반응형
LIST

+ Recent posts