본문 바로가기

전체 글48

[Swift & iOS] Xcode 16.2 'pod init' 에러 관련 안녕하세요,최근 Apple에서는 앱스토어에 앱을 제출하는 개발자들에게 중요한 변경 사항을 공지했습니다. 2025년 4월 24일부터 모든 iOS 및 iPadOS 앱은 iOS 18 SDK 이상, 즉 Xcode 16 이상으로 빌드되어야 한다고 합니다.그래서 미리 Xcode를 16.2로 업데이트하고 새 프로젝트를 생성한 후 pod init 명령어를 실행하려 했는데, 예상치 못한 에러가 발생했습니다. 처음 겪어보는 상황이라 당황했지만, 해결 후 그 해결 방법을 공유하려 합니다. 해결 방법프로젝트 파일 수정프로젝트 파일(xxxx.xcodeproj)을 우클릭하여 패키지 내용 보기를 선택합니다.project.pbxproj 파일을 텍스트 편집기로 엽니다.PBXFileSystemSynchronizedRootGroup 수정.. 2025. 3. 11.
[Swift & iOS] Xcode : Sandbox: rsync.samba(nnnnn) deny(1) file-write-create 관련 에러 외부 라이브러리 설치 후 빌드를 했더니 Sandbox: rsync.samba(nnnnn) deny(1) file-write-create 에러가 발생 하면서 빌드가 안되는 이슈가 발생하였습니다.해결방법Xcode > PROJECT > Build Settings > Build Options > User Script Sandboxing Yes를 No로 수정 하면 됩니다.아래 사진 참고바랍니다.User Script Sandboxing 스크립트가 의도치 않게 시스템의 중요한 부분을 변경하거나, 악성 행동을 수행하지 못하도록 방지하는 중요한 보안 기능입니다참고:https://developer.apple.com/forums/thread/731041 2024. 9. 3.
[Swift & iOS] Swift에서 'stride' 함수 사용하기 Swift에서는 일정한 간격으로 반복되는 값을 생성하기 위해 stride 함수를 사용할 수 있습니다. 이 함수는 숫자의 시퀀스를 생성하는 데 유용하며, 두 가지 버전이 있습니다1. stride(from:to:by:) 2. stride(from:through:by:) 1. stride(from:to:by:)시작 값에서 종료 값을 포함하지 않는 시퀀스를 생성합니다stride(from: start, to: end, by: step) start: 시작 값end: 종료 값 (포함되지 않음)step: 증가 값예시let sequence = stride(from: 0, to: 10, by: 2) for value in sequence { debugPrint(value) } 출력결과02468 2. stride(from.. 2024. 7. 22.
[Swift & iOS] UITableViewCell TextLabel deprecated 관련 iOS 14 이후부터 셀을 더 유연하게 구성하기 위해 UITableViewCell의 디자인 패턴을 업데이트 했습니다. 새로운 디자인 패턴에서는 textLabel, detailTextLabel, imageView 등의 속성 대신에 셀에 보여지는 컨텐츠를 개별적으로 구성할 수 있는 커스텀 콘텐츠 뷰를 사용하는 것이 권장됩니다. 예시 코드 func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { let cell = tableView.dequeueReusableCell(withIdentifier: "identifier", for: indexPath) if #available(iOS 14.0, *).. 2024. 2. 27.
[Swift & iOS] Xcode Code Sense Xcode로 코드를 작성하면서 클래스, 메서드, 변수 등의 이름을 입력할 때, 관련된 정보와 문맥을 분석하여 자동완성을 자주 사용하실겁니다. 그때 여러 리스트들과 함께 아이콘이 있는걸 보셨을텐데 아이콘이 어떤걸 의미하는지 정확히 알고자 정리해봅니다. 1. Red: macros 매크로 (#define) 2. Brown: Core Data / namespace C = modeled class M = modeled method P = modeled property N = C++ namespace 3. Orange: aliased types C_ = Objective-C category E = enum T = typedef / typealias Ex = Swift extension 4. Green: variab.. 2023. 8. 29.
[Swift & iOS] 사파리에서 웹뷰 디버깅 inspect 안될때 이슈 하이브리드 앱을 만들면서 사파리로 inspect를 볼 일이 많아졌습니다. 근데 어느 시점부터 사파리에서 웹뷰를 인식 못하는 현상이 발생하였습니다. 이것저것 검색한 결과 16.4 이상 부터 isInspectable 변수를 true로 해줘야 된다고 합니다. 공식 사이트에선 아래와 같은 버전에선 해줘야 한다고 합니다. - iOS 16.4+ - iPadOS 16.4+ - macOS 13.3+ - Mac Catalyst 16.4+ 사용방법 웹뷰를 선언하는 곳에서 아래와 같이 사용 하면 됩니다. if #available(iOS 16.4, *) { self.webView.isInspectable = true } 이렇게 선언을 하게 되면 inspect 사용 할 수 있습니다. 릴리즈일 때 사용하지 않으려면 아래와 .. 2023. 5. 27.