본문 바로가기

반응형

전체 글

fastlane 빌드 실패 이슈 : java 관련 빌드 실패 코드 WARN [2020-09-22 15:24:57.96]: [iTMSTransporter] -Djava.ext.dirs=/Applications/Xcode.app/Contents/SharedFrameworks/ContentDeliveryServices.framework/Versions/A/itms/java/lib/ext is not supported. Use -classpath instead. WARN [2020-09-22 15:24:57.96]: [iTMSTransporter] Error: Could not create the Java Virtual Machine. WARN [2020-09-22 15:24:57.96]: [iTMSTransporter] Error: A fatal except.. 더보기
Failed to set user defined inspected property 에러 처리 설명 커스텀 클래스를 만들고 @IBInspectable를 사용하는 경우에 해당됩니다. 에러메세지 Failed to set (borderColor) user defined inspected property on (UIButton): [ setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key borderColor. Failed to set (borderWidth) user defined inspected property on (UIButton): [ setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key borderW.. 더보기
ios simulator의 SQLite를 DB Browser 확인하기 들어가기 전 ios를 개발하면서 sqlite를 사용하는 경우 DB Browser에서 보고 데이터나 테에블을 관리하고 싶을 때가 있어서 정리한 글입니다. 해당 글은 ios Simulator & DB Browser for SQLite를 기준으로 작성하였습니다. 1. SQlite 파일이름 가져오기 아래와 같이 경로와 파일이름을 지정한 경우 dbTest.sqlite를 사용합니다. guard let docPathUrl = fileManager.urls(for: .documentDirectory, in: .userDomainMask).first else { return "" } let dbPath = docPathUrl.appendingPathComponent("dbTest.sqlite").path 2. 터미널에서.. 더보기
SQLite 데이터 값이 제대로 들어가지 않을 때 unsafeBitCast 사용하기 포인터에 대한 개념이 부족하여 해당함수에 대한 완벽한 이해가 잘 되지 않지만 참고하고 나중을 위해 정리한 글이기 때문에 사실과 다르거나 제가 오해하는 부분이 있을 수도 있으니 참고해주시기 바랍니다. 설명 sqlite 사용하면서 데이터 추가할 때 테이블의 칼럼이 3개 이상일 때에는 마지막 칼럼값으로 값들이 들어가거나 의도하지 않는 값들이 들어가는 것을 확인하였습니다. 그리고 unsafeBitCast 함수를 사용해서 해결할 수 있었습니다. 문제되는 코드 guard prepare(with: sql) else { throw SQLError.prepare } guard bindText(with: name, at: 1) else { throw SQLError.bind } guard bindText(with: bir.. 더보기
Tabbar 안에 StoryBoard 여러개 관리하는 방법 두 가지 방법의 초기결과는 동일하지만 설정방법이나 관계에 있어서 첫번째 방법이 더 괜찮다고 생각합니다. 첫번째 방법 Storyboard 파일 생성 (필요한 개수 만큼) 메인 스토리보드에서 TabbarViewController 생성 및 기본 연결된 VC 제거 오른쪽 상단 라이브러리 추가 버튼을 클릭하고 Storyboard Reference 추가 (1번에서 만든 Storyboard 개수 만큼) 컨트롤 + 마우스 왼쪽 드래그 한 후에 3번에서 만든 SR에 연결 및 Relationship Segue 밑에 view controllers 선택 Attributes inspector 클릭 및 첫번째 칸에 storyboard 지정 각 스토리보드에서 VC or navigationVC 생성 및 inital VC 지정 각 V.. 더보기
WKWebview를 이용한 Javascript, Swift 양방향 통신 아래 작성된 방법은 WebView 가 로드될 때 실행되는 것을 기준으로 하였으며 네이티브 앱에서 버튼을 누르거나 특정 동작을 할 때 Javascript 로 값을 전달하고 싶은 경우에는 아래 블로그에 나온 방법(evaluateJavascript)을 참고합니다. evaluateJavascript 참고 블로그 [SWIFT] 웹뷰와 자바스크립트 연동 (Native JavaScript 통신 방법) 1. Swift → Javascript 1) Javascript의 test() 함수 실행할 때 import UIKit import WebKit class ViewController: UIViewController() { var webview: WKWebView! override func loadView() { let w.. 더보기
@IBDesignable , @IBInspectable in Custom Object 사용된 예제는 꼼꼼한 재은씨의 Swift : 실전편 을 토대로 작성하였으며 설명 또한 인용한 부분이 있습니다. @IBDesignable 커스텀 객체(버튼, 스테퍼 등)를 스토리보드에서 미리보기 하고 싶을 때 해당 클래스 정의 구문 위에 추가합니다. @IBInspectable 커스텀 객체(버튼, 스테퍼 등)의 속성을 스토리보드 내에서 변경하고 싶은 경우 해당 속성을 선언할 때 추가합니다. 설명 커스텀 객체를 만들 때 프로그래밍 방식을 사용하면 디자인 요소에 변화를 주는 경우 빌드를 한 다음 확인을 해야 하는 번거로움이 있지만 @IBDesignable 을 사용하면 스토리보드에서 미리 보기가 가능합니다. 또한, @IBInspectable 을 사용하여 인터페이스 빌더를 통해 커스텀 객체의 속성을 설정할 수 있습.. 더보기
sizeToFit 함수와 center 속성을 함께 사용하는 경우에 작성 순서 sizeToFit 뷰의 크기에 맞게 변경, UIView 의 함수 이며 아래와 같이 Label 에 사용하는 경우에는 해당 라벨 길이에 맞게 크기가 변경됩니다. center 뷰 프레임 사각형의 중심점, 이 역시 UIView 의 함수 이며 Label 프레임의 중심점을 정합니다. 설명 아래와 같이 라벨을 만들 때 sizeToFit 과 center 를 사용하는 경우에는 sizeToFit 을 호출한 후에 center 속성을 설정 해주는 것이 바람직합니다. center 속성은 해당 라벨의 중심점을 정해 주는 역할인데 sizeToFit 함수보다 먼저 오는 경우에는 라벨을 선언했을 때의 길이(y: 100)를 기준으로 설정하기 때문에 원하는 대로 화면에 표시되지 않습니다. 그렇기 때문에 sizeToFit 함수를 호출하여 .. 더보기

반응형