이전 시큐리티기능을 사용하지 않고 따로 히든텍스트라든 변수를 정의해줘서 비밀번호 가리고 보이고하는 기능을 구현해놨었다

해당 스크린을 테스트하기위해 테스트코드를 짜놨었는데....

 

이번 최신 버전을 배포하던중 텍스트필드에 중대한 버그가 발견되어 텍스트필드의 시큐리티 기능을 이용하는 방식으로 전환했다

그리고.. 그 이후로 UI테스트코드를 통과하지 못하고있다

도저히 잘못된점을 모르겠어서 뷰를 하나하나 스택쌓아가듯이 찾아 나아가보지만 여전히 해당 아이디를 가진 텍스트필드를 찾을 수 없다고 오류를 뱉고있었다.

 

나의 이 멍청한 시도를 다른이는 하지 않기를 기도하며 문제점을 여기에 적는다

나는 해당 부분을 이렇게 정의하며 찾아보고있었다.

- 라인2 오류 -

let loginvcContentView = app.otherElements["loginvcScrollViewContentView"]
let pwTextField = loginvcContentView.textFields["loginvcPwTextField"]

UITest에 대해 누가 알려주지 않아 거의 그냥 막코딩이라 변수이름이라던가 방법은 그냥 넘어가줬으면 좋겠다

문제는 loginvcContentView에서 찾는 엘레먼트 타입이였다.

텍스트필드에

textField.isSecureTextEntry = true

라고 정의를 해주면 textFields로는 찾을 수 없고

아래와 같이 해줘야한다.

let loginvcContentView = app.otherElements["loginvcScrollViewContentView"]
let pwTextField = loginvcContentView.secureTextFields["loginvcPwTextField"]

그렇다 

저 속성하나 켜줬다고 textField가 아닌 secureTextFields로만 찾을 수 있게되었다.

망할

 

'iOS > swift' 카테고리의 다른 글

No such module ~~ 설치되지 않는 Snapkit 문제  (0) 2023.04.12
ios - Admob 에러코드 메모  (0) 2023.03.21
Alamofire.AFError Code  (0) 2022.10.06
Block Based KVO, iOS - contentSize  (0) 2022.09.27
Date 끼리의 비교  (0) 2022.08.04

/Library/Developer/CoreSimulator/Profiles/Runtimes

해당 위치에 저장된다.

 

여러가지 지원 정보및 파일들이 패키지형태로 압축된것으로 보인다.

 

일단 사용안하는 tv용 시뮬레이터도 지우고 

사용안하는 버전도지우고

 

마지막으로

아래 명령어를 치면 현 xcode에서 실행불가능한 애들도 지워준다.

xcrun simctl delete unavailable

 

용량이... 부족하다.......

 

어느날 테스트를 하던도중 뭔지 잘모르겠으나

시뮬레이터상에서 화면전환 및 새로고쳐지는 애니메이션이 매우매우매우매우매우매우매우 느리게 보여진다.

뭔가 cpu사용량이 넘치는건가 싶어 다른시뮬레이터들을 전부끄고 하나만 돌려봐도 여전히 사태는 호전되지않는다

 

pc를 재부팅해도 이러한문제는 해결되지않았다.

 

검색도중 이러한글을 발견

https://stackoverflow.com/questions/35398356/how-to-speed-up-the-iphone-simulator-in-xcode/35398507#35398507?newreg=81dbb95772f34189b7f246555a57248e

 

How to speed up the iPhone simulator in Xcode

I'm using Xcode 7.2. When I build/run my app on device, all objects and images move according to the speed I set in the code, everything moves quickly. However, on iPhone simulator in Xcode, everyt...

stackoverflow.com

 

그러하다. 시뮬레이터의 디버그모드에서 

 

slow animation이라는 기능이 켜져있어서 생긴문제

 

아니 문제라기보단 그러한 기능

 

이러한기능이 있는지도 오늘처음알았다.

 

곧 퇴사일이 다가오는데 이러한 기본적인것도 모르고있으니 앞길이 막막하다

 

참고로 기능의 온오프는 아래 사진을 참고해라

 

'Could not instantiate class named _UITextLayoutView because no class named _UITextLayoutView was found;

라는 오류 메시지가 뜨면서 앱이 튕긴다.

 

https://stackoverflow.com/questions/58657087/after-upgrading-to-xcode-11-2-from-xcode-11-1-app-crashes-due-to-uitextlayoutv

 

After upgrading to Xcode 11.2 from Xcode 11.1, app crashes due to _UITextLayoutView

After upgrading to Xcode 11.2 from Xcode 11.1 app crashes: *** Terminating app due to uncaught exception 'NSInvalidUnarchiveOperationException', reason: 'Could not instantiate class named

stackoverflow.com

 

에서 해당 문제 상황에 대한 해결책이 제시되었다

 

import UIKit

@objc
class UITextViewWorkaround : NSObject {

    static func executeWorkaround() {
        if #available(iOS 13.2, *) {
        } else {
            let className = "_UITextLayoutView"
            let theClass = objc_getClass(className)
            if theClass == nil {
                let classPair: AnyClass? = objc_allocateClassPair(UIView.self, className, 0)
                objc_registerClassPair(classPair!)
            }
        }
    }

}

 

해당 클래스를 작성한후

 

Appdelegate 에 application( didFinishLaunchingWithOptions ) 항목에서 

executeWorkaround() 를 실행시켜주면 이상없이 동작한다!

 

추가로 xcode 업데이트로 해당문제는 해결될것으로 보인다.

우선은 추가...

+ Recent posts