안녕하세요 :) Zedd입니다. 오늘은 SwiftLint의 오류 중 하나인 Compiler Protocol Init Violation: The initializers declared in compiler protocol ExpressibleByArrayLiteral shouldn't be called directly. 이 warning에 대해서 알아보겠습니다. # 어디서 발생? let array = Array(arrayLiteral: 1, 2, 3) let indexSet = IndexSet(arrayLiteral: 1, 2, 3) // Compiler Protocol Init Violation: The initializers declared in compiler protocol ExpressibleBy..
안녕하세요 :) Zedd입니다. 지금..어이없는 이유로..UITest가 실패하고 있네요..그래서 기록해보고자합니다! :D 문제 ~ UITest쪽 ~ XCTAssertTrue(homeButton.isSelected) 분명 위 버튼은 무조건!!!! isSelected가 true임에도 불구하고 false가 나온다는 점입니다. 이거때문에 UITest가 실패하고 있어요..... 원인 원인은 보이스오버 대응시 이런저런 사정으로 인해... ~ App Code쪽 ~ homeButton.accessibilityTraits = .none accessibilityTraits을 none으로 준 상황입니다. 여기에 따르면, XCUIElement의 isSelected프로퍼티는 accessibilityTrait에 따라 다르다고 해..
안녕하세요 :) Zedd입니다. 제가 예전에 OptimizationTips 라는 글을 썼었는데요. 애플의 Writing High-Performance Swift Code 를 그냥 옮겨 적어본거에요. 안옮긴거도 있을 수 있고, 좀 옛날에 한거라;; 달라진 내용이 있을 수 있겠네요. 아무튼 이번에 회사 프로젝트에서 빌드 속도 개선하면서.. 애플의 Swift Compiler Performance를 보게됐는데요, 이 중 Diagnostic options을 적용하면서의 과정기(?)들을 공유하려고 합니다. 위 문서는 굉장히 흥미로워서 다른 내용들도 정리해보고 싶네요 XD 아무튼 오늘은 Diagnostic options에만 집중해보겠습니다. Xcode에는 다양한 Diagnostic options(진단 옵션..?)이 ..
안녕하세요 :) Zedd입니다. 제가 이 글에서 이렇게 말했었는데요. 네 맞는 말입니다! UITest에서는 유니크한 accessibilityLabel 또는 accessibilityIdentifier로 UI Element를 가져올 수 있어요. 그러면 accessibilityLabel과 accessibilityIdentifier의 차이점은 무엇일까요!? accessibilityLabel 이 프로퍼티에 들어있는 값은 최종 사용자를 대상으로 하는 값입니다. (end-user facing) 즉, 보이스오버 사용자들은 accessibilityLabel에 들어있는 값을 듣게 되는 것이죠. 따라서 이 프로퍼티는 로컬라이징된 String이 들어가는 것이 좋습니다. accessibilityIdentifier 방금 본 ac..
안녕하세요 :) Zedd입니다. 오늘은 @testable import에 대한....고찰을 해보려고 합니다. 지금 저는 UITest를 공부중인데요...다들 그거 아셨나요? UITest에서는 @testable import가 작동하지 않습니다. 결론부터 말하면 UITest는 별도의 프로세스로 앱 외부에서 실행되며, UI 테스트 내부에서 앱 코드에 접근 할 수 없게 "의도적으로 디자인"되었다고 합니다. 그러고는 문득 아 내가..바보같이...UITest에서 응 앱 코드 접근해야돼~ 응 @testable import야~ 이렇게만 생각했구나,..하고 현타가... 그리고 문득 제가 @testable import에 대해 제대로 공부해본적도 없다는 사실도 알게됨. Q : UITest하는데 왜 앱코드에 접근해야돼? A : ..
안녕하세요 :) Zedd입니다. Zedd신곡 나왔는데...엄청 좋아요 갓제드ㅠ 이거들으면서 쓰는 중 오늘은..클린 아키텍쳐 + MVVM에 대해서 공부를 해보려고 합니다! 클린 아키텍쳐는 한번쯤은 들어보셨을 것 같아요! 저도 엄청 많이 들어봤는데.......잘 모릅니다;; 아무튼 이 "클린 아키텍쳐"는 로버트 C. 마틴 선생님;;이 "클린 아키텍쳐"라는 제목으로 블로그에 글을 쓰면서 알려지게 되었어요. 로버트 C. 마틴 이 분 소개를 잠깐 하고 가자면, 쌉고수 미국 소프트웨어 엔지니어입니다. ㅇㅣ 사람이 쓴 책 그 유명한...클린코드를 쓰신 분... 소프트웨어 개발 방법론 중 에자일 아시죠? 이 에자일의 창시자;;;;;;; 중 한명이기도 합니다. 에자일 선언문에 가보시면 옆에 로버트 C. 마틴 적힌거 볼 ..
안녕하세요 :) Zedd입니다. 원래 오늘 UI Test에서의 Assertion에 대해서 공부하려고 했는데.. 그 전에 알아두면 좋을 개념들이 있어서 이거 먼저 보려고 합니다. 오늘은 XCUIApplication, XCUIElement 그리고 XCUIElementQuery에 대해서 공부해봅시다. UI Testing API에는 크게 3가지가 있는데요. XCUIApplication XCUIElement XCUIElementQuery 가 있습니다. XCUIApplication XCUIApplication은 저번글에서도 말했지만 앱을 실행 및 종료할 수 있는 앱의 "프록시"입니다. Launch는 "항상"새로운 프로세스를 생성하며 기존 인스턴스를 암시적으로 종료합니다. XCUIElement XCUIElement는..
- Git
- np-hard
- Xcode
- Accessibility
- Swift
- 피아노
- 회고
- WKWebView
- iOS delegate
- FLUTTER
- 스위프트
- WWDC
- swift tutorial
- actor
- IOS
- Combine
- swift 공부
- 스위프트 문법
- 제이슨 파싱
- swift delegate
- fastlane
- swift sort
- SwiftUI
- UIBezierPath
- np-complete
- github
- swift3
- WidgetKit
- ios 13
- swift array
- Total
- Today
- Yesterday