카테고리 : swift
-
target overrides the `ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES` build setting 오류 해결
Xcode 8에서 cocoapods 사용시 아래와 같은 오류가 발생하는 경우가 있다. [!] The `xproject [Debug]` target overrides the `ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES` build setting defined in `Pods/Target Support Files/Pods-xproject/Pods-xproject.debug.xcconfig'. This can lead to problems with the CocoaPods installation - Use the
-
Swift 3 접근 한정자
Swift 3 메서드에 대한 접근 한정자(엑세스 레벨)가 5가지(open, public, private, fileprivate, internal) 존재한다. 다른 언어들에 비해 많은 편이고 익숙하지 않은 개념으로 조금 복잡해 보일 수 있다. 다만, 프레임워크(모듈)를 만드는 경우가 아니라면 사용하지 않아도 되는 것들도 있다. 각각의 접근 한정자에 대해 간략히 알아보자(가장 개방된 것부터 가장 제한적인 순서로). open 가장 개방된 접근 한정자로써 소속 모듈 또는 소속 모듈을 import하는 모든 모듈에서 class와 class 멤
-
Swift : Async - Background Threads - GCD(Grand Central Dispatch)
오늘은 swift에 비동기 처리에 사용하는 Async라는 라이브러리를 소개하고자 한다. Async는 "Syntactic sugar in Swift for asynchronous dispatches in Grand Central Dispatch"라고 소개되어 있다. Async를 소개하기 전에 swift에서의 기본적인 비동기 처리에 대해 먼저 설명한다. swift는 비동기(Asynchronous) 처리에 사용하는 GCD(Grand Central Dispatch)를 사용할 수 있다. GCD(Grand Central Dispatch)는 C
-
CocoaPods의 Swift compiler flags(DEBUG) 설정하기
Xcode에서 CocoaPods를 이용해 sub module 만들기라는 글에서 Sub Module을 만드는 방법을 설명했었다. 그런데 이렇게 연결된 Module을 사용하는 과정에서 불편한 부분이 생겼다. 다름아닌 #if DEBUG를 Sub Module에서 적용이 되지 않는 것이다. 이 부분은 생각해보면 당연하다 별개의 Module을 빌드에서 연결하는 것이니 DEBUG 상수를 사용하기 위한 설정을 별도로 해야 하는 것이다(DEBUG 상수 설정 방법은 Swift 프로젝트의 디버그(DEBUG) 플래그을 참고하면 된다). 그래서 Cocoa
-
Swift 2.0에서 상속 가능한 Singleton 생성하기
오늘은 swift에서 Singleton 객체를 생성하는 방법을 설명하고자 한다. 우선 Objective-C에서는 어떻게 생성하는지는 아래를 보면 알 수 있다. 우선 Singleton Class 정의. @implementation SingletonCls + (id)sharedManager { static SingletonCls *staticManager = nil; static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ staticManager = [[self alloc] in
-
Swift 2.1에서의 오류 처리(do try catch)
애플이 2015.06.08.에 '세계개발자회의(WWDC) 2015'에서 스위프트 2.0을 공개 했지만 최근 다시 iOS 작업을 시작하면서 이제서야 swift 2.0을 사용하게 되었다. 그런데 이제 2.0 보려고 하는데 벌써 Xcode 7.1 beta 2가 나오면서 swift 2.1이 공개되었다. 오늘은 swift의 내용 중에서 오류 처리에 관련된 내용을 살펴보고자 한다. 아래의 내용은 Swift 2.0 の try, catch ファーストインプレッション와 공식 메뉴얼(Error Handling)의 내용을 참고하여 정리한 것이다. 공식
-
Swift 2 : 'lastPathComponent' is unavailable: Use lastPathComponent on NSURL instead. 오류 해결
Swift 2 : Binary operator '|' cannot be applied to two 'UIViewAutoresizing' operands 오류 해결에 이어 Swift 2로 넘어가면서 만난 또 다른 오류. 'lastPathComponent' is unavailable: Use lastPathComponent on NSURL instead. 관련해서 찾아보니 No more stringByAppendingPathComponent in Xcode 7 beta 5?라는 글이 있었다. 내용을 보니 해당 함수가 없어져서 다른 방법
-
Swift 2 : Binary operator '|' cannot be applied to two 'UIViewAutoresizing' operands 오류 해결
이번에 iOS 작업중 Swift 2로 변경을 하면서 아래와 같은 오류를 만났다. Binary operator '|' cannot be applied to two 'UIViewAutoresizing' operands 사실 이 부분말고도 여러가지 오류가 나왔지만 기본적으로 swift 버전업을 도와주는 헬프 기능 등을 통해 어느 정도는 쉽게 고칠 수 있었다. 어쨌든 이 오류는 아래의 코드를 보면 해결 방법을 바로 알 수 있다. let view = UIView(frame: CGRect(x: 0, y: 0, width: 100, height