전체 글220 Storyboard UILabel에 linebreak(줄바꿈) 적용하기 코드로 String에 줄바꿈을 주기 위해서는 보통 `\n`을 쓰면 됩니다.let titleStr = "I am\nthe title"let titleLbl = UILabel()titleLbl.text = "titleStr"하지만 Storyboard의 Attribute Inspector에서 줄바꿈을 적용하려면 `\n`으로는 적용이 되지 않습니다.대신에, 줄바꿈을 원하는 부분에서 `Alt + Enter`를 해주면 됩니다. 그러면 위 사진에 나온 것처럼 줄바꿈이 inspector 창에서 바로 적용되어 나오는 것을 볼 수 있습니다. 참고- https://stackoverflow.com/questions/44384991/weird-behavior-on-uilabel-with-n-on-storyboard 2025. 5. 26. SSH key 여러개 사용하기 ssh key를 여러개를 생성해서 사용해야 하는 경우, 어떠한 public key에 어떤 private key를 사용할 것인지 ssh에 알려주어야 합니다. Github에서 사용하는 key와 원격 서버에 사용할 key를 구분해서 사용하고 싶어 새로 ssh key를 생성하고 원격 서버에 public key를 등록해주었습니다. password를 따로 설정 안 해준 key였는데도 원격 서버에 접속할 때마다 로그인 prompt가 나타나면서 비밀번호를 요구하길래 무언가를 설정해주어야 하나보다 라는 생각이 들게되었습니다. 결론적으로, 단순히 public key를 알려주는 것만으로는 컴퓨터가 해당 public key와 pair되는 private key를 알지 못하고, 그렇기 때문에 어떤 private key를 사용하.. 2025. 4. 22. Storyboard merge conflicts 해결하기 - Multiple elements have the IDs "..." storyboard를 사용하면 merge할 때 conflicts 해결이 힘들다는 이야기를 들었었는데,직접 겪게 되니 정말 쉽지 않다는 것을 느끼게 되었습니다.아직까지는 매번 새로운 conflicts들을 마주하고 있지만, 하나씩 해결하고 정리해 놓다보면 어느 순간에는 겪어보았던 것들 위주로 나오지 않을까 하는 기대를 가지고 있습니다. 이번에 마주한 친구는 동일한 ID를 가진 elements들이 있다는 내용이었습니다.The document "Main.storyboard" could not be opened.Multiple elements have the IDs "..." 제대로 conflicts를 해결한다고 집중해 가면서 잘 선택해서 잘 해결한 줄 알았더니, storyboard를 InterfaceBuil.. 2025. 4. 15. Selector란? Selector란?UIButton을 누르면 어떤 동작을 수행하게 할 것인지 action을 추가할 때 보면 `#selector`구문을 사용해서 사용될 method를 알려주게 됩니다. 이 selector는 method 이름을 알려주는 방식이고, class나 struct 내부에 정의된 method 이름을 지칭합니다.왜 selector를 이용해야 할까요? Swift와 Obj-c 간의 bridge 역할을 수행해 줍니다. 즉, Objective-C 기반의 코드를 Swift에서 사용하기 위한 방식들 중 하나입니다. selector에 들어갈 수 있는 method는 반드시 `@objc`를 앞에 붙여주어야 하는데, 이 attribute를 붙여주어야만 Objective-C runtime에 접근이 가능해지기 때문입니다.언제 .. 2025. 4. 3. 14. Longest Common Prefix - 접근 방법: 1. 주어진 strs array를 string count에 따라 오름차순 정렬.2. 정렬된 array의 요소들의 firstLetter를 한 번씩 확인. 모든 요소들의 first letter가 동일하면 result에 추가하고, 그렇지 않으면 return.3. strs array의 첫번째 요소가 가장 count가 작기 때문에, 이 string의 count가 0이 되면 더 이상 확인하지 않음.class Solution { func longestCommonPrefix(_ strs: [String]) -> String { var sortedStrs: [String] = strs.sorted { $0.count = Set() while true { .. 2025. 1. 28. Mac app에 Firebase Remote Config 적용 시 발생 한 에러 및 해결 방법 1. Failed to get installations token.Error Domain=com.google.remoteconfig.ErrorDomain Code=8003 "Failed to get installations token. Error : Error Domain=com.firebase.installations Code=0 "Underlying error: The operation couldn’t be completed. SecItemAdd (-34018)" UserInfo={NSLocalizedFailureReason=Underlying error: The operation couldn’t be completed. SecItemAdd (-34018), NSUnderlyingError=0x600.. 2025. 1. 12. MacOS app개발 시 custom font 추가하기 iOS에서 하는 방식과 동일하게 하였는데도 custom font를 인식하지 못하는 현상이 있어 한참을 헤매고 있었는데, 다행히 SOF에 동일한 문제에 대한 해결 방법이 나와있어 도움을 받았습니다. 다른 방식은 iOS에서 custom font를 추가하는 것과 동일하고, 원하는 타겟의 info.plist에 아래의 key, value를 추가해주면 됩니다. 이 key의 값으로 설정된 path에서도 font를 찾는다고 합니다. 이걸 따로 설정해줘야 한다는 건, MacOS에서 기본적으로 읽는 font 경로와 제가 추가한 font의 경로가 달라서 그렇다는 얘기일텐데.. 왜 iOS랑은 다르게 되어 있는 지 궁금하긴 합니다만 정확한 이유는 모르겠습니다. 혹시나 저와 비슷한 현상이 있으신 분들께 도움이 되면 좋겠습니다... 2025. 1. 6. Xcode Asset에서 unassigned가 발생할 때 해결 방법 Asset에 넣은 뒤에는 이름을 영어로 바꾸어서 사용하고 있었지만 원본 파일 이름에 한글이 들어가 있던 파일이 하나 있었는데, 해당 파일에서 unassigned 문제가 생겼습니다. 처음으로 한글이 들어간 파일을 사용해봤더니 처음 보는 문제였습니다. commit 과정에서 문제가 있었나 싶어서 파일을 삭제하고 clean build도 해본 다음 다시 파일을 넣었는데도 동일한 문제가 있어서 뭔가 이상하다 생각하게 되었습니다. 구글링을 좀 해보니 다행히도 금방 해결책을 찾을 수 있었습니다. 영어로만 이루어진 이름으로 원본 파일명을 바꿔서 해결했다는 사례가 있어서 저도 시도해보았고 이 방법을 이용하니 unassigned 문제가 사라졌습니다.혹시 그래도 문제가 남아 있는 경우라면 clean build도 한 번 해보.. 2024. 12. 23. SwiftUI Segment Picker의 round 유지하며 background color 변경하기 SwiftUI의 Picker view의 `pickerStyle`을 .segmented로 설정해주면, UIKit의 `Uisegmentedcontrol`과 같은 모양의 UI를 사용할 수 있습니다. 기본적으로 배경색이 회색이고 round된 corner를 가진 모양입니다. 배경색상을 변경할 필요가 있었고, `background`를 설정해주면 될 것 같아 적용해 보았습니다. struct SegmentedView: View { @Binding var element: PickerElement var body: some View { Picker(selection: $element) { ForEach(PickerElement.allCases) { .. 2024. 11. 18. 이전 1 2 3 4 ··· 25 다음 반응형