-
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
-
Octopress : pygments cant parse unknown language: </p> 오류
Octopress에서 rake generate를 하다보면 아래와 같은 오류를 만나는 경우가 있다. jekyll 2.5.3 | Error: Pygments can't parse unknown language: </p> Pygments는 소스코드 하이라이팅을 해주는 모듈인데 언어를 알 수 없다고 오류를 내는 것이다. markdown에서 소스코드는 ```로 시작하고 그 뒤에 붙여서 언어 종류를 지정할 수 있다(```ruby 와 같이). 위 오류가 발생한다는 것은 여기에 문제가 있다는 것인데 오류 메시지만 보면 어디서 발생하는 것인지 짐작
-
Cocoapods : Sub Module에서 GoogleMaps 의존성 사용시 Transitive dependency 문제 해결
아래에 설명한 방법을 사용시 런타임시에 문제가 될 수 있어 다른 방법을 찾고 있는 중이니 참고만 하길 바란다. 지난 글 Cocoapods : The 'Pods' target has transitive dependencies that include static binaries 오류에서 언급한 transitive dependencies 문제를 해결하는 방법을 설명하려고 한다. 미리 이야기 하지만 사실 아래의 내용은 아주 깔끔하게 해결하는 방법은 아니다. 정확한 해결이 되려면 CocoaPods에서 정식 지원을 해야 해결될 것으로 보인다.
-
Cocoapods : The 'Pods' target has transitive dependencies that include static binaries 오류
iOS용 앱 개발을 하면서 CocoaPods을 사용하고 있다. 그리고 CocoaPods을 이용해서 반복적인 기능의 구현을 Sub Module로 분리하여 프로젝트를 진행하고 있다. Sub Module 분리에 대해서는 Xcode에서 CocoaPods를 이용해 sub module 만들기에서 설명 했었다. 이렇게 만든 Sub Module에서 가지는 의존성은 dependency 속성을 이용해서 지정한다. 예를들면 아래와 같다. ModuleName.podspec Pod::Spec.new do |s| s.name = 'ModuleName' s.
-
XCode에서 storyboard 선택시 Crash가 발생할 경우
최근엔 XCode로 작업하는 일이 많아졌다. 안드로이드 개발과 웹 개발도 함께하지만 iOS 작업이 급하다 보니 주로 이 일을 하고 있다. XCode는 사용하면 할수록 잘 만들었다는 생각이 든다. 단, 코드 포멧팅 기능이 없다거나 소스 선택이 조금 부자연스럽다거나(이건 적응의 문제일 수 있다) 하는 것처럼 안드로이드 스튜디오에 비해 불편한 부분들이 있긴하다. 하지만 인터페이스 빌더 등의 도구들은 아주 잘 만들어져 있으며 결정적으로 빌드 속도가 무척 빨라서 좋다. 안드로이드 스튜디오도 지난 번에 적었던 Android Gradle 빌드