반응형

swift 121

[iOS, Swift] GCD 사용 시 주의점

GCD를 사용하면서 오류나 쓰레드가 잘 안 되는 현상이 많았는데, 이번에 들은 강의에서 그런 점들을 분류하여 알려주었다. 그 중 한가지 공감이 되는 것만 작성을 하려고한다. 나머지는 강의를 통해서 알아보자 https://www.inflearn.com/course/iOS-Concurrency-GCD-Operation/dashboard iOS Concurrency(동시성) 프로그래밍, 동기 비동기 처리 그리고 GCD/Operation - 디스패치큐와 오퍼레이션 동시성(Concurrency)프로그래밍 - iOS프로그래밍에서 필요한 동기, 비동기의 개념 및 그를 확장한 GCD 및 Operation에 관한 모든 내용을 다룹니다., - 강의 소개 | 인프런... www.inflearn.com 디스패치큐를 쓸 때에 ..

iOS/강의, 고찰 2022.11.01

[iOS, Swift] DispatchQueue 서비스품질 (QoS)

DispatchQueue 객체를 만들 때에나 Async 함수를 실행시킬 때 서비스 품질을 설정할 수 있다. 서비스 품질(QoS)는 비동기함수 처리가 되면서 비동기 함수의 우선순위를 어떤 것을 먼저할지에 대한 속성이다. userInteractive 속성은 거의 즉시 일어나는 함수에 대해 설정하는 값이고, 유저와 직접적인 인터렉티브(UI 업데이트, 애니메이션, UI반응 관련)에 관련한 함수를 처리할 때에 주로 쓰인다. userinitiated 속성은 몇 초내에 처리되야할 함수에 대한 설정값이다. 유저가 즉시 필요하긴 하지만, 비동기적으로 처리해야하는 작업 (ex. 앱 내에서 pdf 파일을 여는 것과 같은)을 처리할 때에 쓰인다. default 속성은 일반적인 작업을 처리할 때 쓰이는 속성이다. utility..

iOS/강의, 고찰 2022.11.01

[iOS, Swift] Swift 코딩 컨벤션

Swift API 디자인 가이드라인 https://www.swift.org/documentation/api-design-guidelines/ Swift.org Swift is a general-purpose programming language built using a modern approach to safety, performance, and software design patterns. www.swift.org 위의 사이트에서 정의하고 있는 코딩 컨벤션을 정리합니다. Fundamental - 사용시점의 명확성이 가장 중요한 목표입니다. (메서드 및 속성과 같은 엔터티는 한 번만 선언되지만, 반복적으로 사용됩니다.) - 간결성보다 명확성이 더 중요합니다. - 모든 선언에 대하여 문서 주석을 작성합니다..

iOS/팁 2022.10.30

[iOS, Swift] Build input file cannot be found 오류 해결

iOS 15.5, Xcode 13.31, Swift 5, UIKit 환경에서 진행했습니다. 상황) GIt에서 프로젝트를 받았는데, 빌드가 안 되고 이러한 오류가 발생하였다. 이유) 프로젝트 관리하는 파일에서는 swift 파일이 있는데, 실제로는 파일이 없어서 생기는 오류이다 해결방법) 프로젝트 관리하는 파일에 있는대로 실제 파일을 넣어주면 해결되는 오류이다.

iOS/오류해결 2022.10.25

[iOS, Swift] Missing package product [package name] 오류 해결

iOS 15.5, Xcode 13.31, Swift 5, UIKit 환경에서 진행했습니다. 상황) 프로젝트를 압축된 파일로 받아 풀고 나서 빌드를 하는 과정에서 이러한 에러가 발생했습니다. 해결방법) Xcode 패키징 매니저를 초기화 시킨 뒤, 패키징 매니저 업데이트를 하여 라이브러리를 업데이트하니 오류가 사라졌습니다. 패키징 매니저 초기화 및 업데이트는 방법으로는 Xcode 상에서 상단에 있는 메뉴 File - Packages - Reset Packages Caches File - Packages - Update to Latest Package version 을 실행하면 됩니다.

iOS/오류해결 2022.10.25

[iOS, Swift] 앱 내의 파일 확인하기 (FileManager)

iOS 15.5, Xcode 13.31, Swift 5, UIKit 환경에서 진행했습니다 FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)[0] 위의 코드 위치에다 파일을 저장하게 되면 앱 내의 폴더에 이미지나 비디오가 저장이 된다. 그런데 저장만 하고 info.plist 파일에 설정을 안 해주면 아이폰에서 확인이 불가하다. info.plist 설정을 추가하자 Supports opening documents in place - YES Application supports iTunes file sharing - YES

iOS/코드조각 2022.10.24

[iOS, Swift] 화면 세로로 고정하기

iOS 15.5, Xcode 13.31, Swift 5, UIKit 환경에서 진행했습니다. 개발 핸드폰 설정을 화면전환이 안 되게끔 설정해놓아 개발 당시에는 몰랐었는데, 다른 핸드폰으로 사용을 해보니 화면이 전환되며 짜놓은 Layout이 아닌 다른 상태로 바뀌었다. 그리하여 아래와 같은 코드와 설정을 바꿔주어 화면전환이 안 되게끔 설정을 했다. AppDelegate.swift에서 supportedInterfaceOrientationFor 함수를 만든다. bebelucy - target - Info 화면에서 Supported Interface orientations 설정에서 Landscape 부분을 삭제한다. 위의 설정을 변경하여 iPhone은 화면전환이 안 되었지만, iPad에서는 화면전환이 안 되어서 ..

iOS/코드조각 2022.10.18

[iOS, Swift] 아이폰, 아이패드 디바이스 확인방법

iOS 15.5, Xcode 13.31, Swift 5, UIKit 환경에서 진행했습니다. iPhone과 iPad 코드를 구분하기 위해 아래와 같이 UIDevice Extension을 통하여 현재 빌드되는 기기가 iPhone인지 iPad인지 구분을 할 수 있다. import UIKit extension UIDevice { public var isiPhone: Bool { if UIDevice.current.userInterfaceIdiom == UIUserInterfaceIdiom.phone { return true } return false } public var isiPad: Bool { if UIDevice.current.userInterfaceIdiom == UIUserInterfaceIdiom...

iOS/코드조각 2022.10.18
반응형