collectionView.alwaysBounceVertical = true
CocoaPods 설치 sudo gem install cocoapods끝. 라이브러리 적용하기 cd (프로젝트경로) pod init해당 경로에 Podfile이 생성됩니다. Podfile을 열어서 (Xcode 가능) 원하는 라이브러리를 적습니다. pod 'Alamofire'터미널에서 아래와 같이 실행합니다. pod install라이브러리 정리하기 여러 명이 함께 작업하거나 팟 라이브러리가 꼬이는 경우가 가끔 있습니다. 그래서 팟 삭제를 깔끔하게 해주는 녀석도 당연히 있죠. sudo gem install cocoapods-deintegrate cocoapods-clean이렇게 설치하신 후.. pod deintegrate pod clean pod install이렇게 하면 깔끔하게 재설치가 됩니다..
프로젝트 도중 파이썬이 필요해졌는데 macOS에선 2.7이 기본적으로 설치되어 있고 아마 OS상에서도 사용하는 듯 하다. OS환경과 개발환경을 구분하면 좋을 것 같아 homebrew를 통해 pyenv라는 가상 파이썬 환경(대개 파이썬 2.x와 3.x를 구분하는데 쓰이는)을 사용하여 개발환경을 셋팅했다. $ pyenv install 3.7.3 헌데.. 잘 설치하다가 아래와 같은 에러를 뿜었다. BUILD FAILED (OS X 10.14 using python-build 20180424) Inspect or clean up the working tree at /var/folders/zk/md83g1xs3fz6mhyp4mxfmsqc0000gn/T/python-build.20190421221228.50986 ..
Xcode에서 새 프로젝트를 엽니다. 애플리케이션 종류나 프로젝트 설정은 상관없습니다. 프로젝트 경로를 설정할 때, Create Git repository on my Mac을 체크합니다. Xcode에 Git 계정이 연결되어있지 않다면, Source Control > Git 에서 Git 계정을 연결합니다. 이제 작업 후 Source Control을 보면, 아래와 같은 일반적인 소스코드 비교 화면을 볼 수 있습니다. Commit 창 최하단엔 Push to remote(github에 commit과 동시에 push) 체크버튼이 있습니다.
띄어쓰기는 잘 안보입니다. 그래서 수백 수천줄의 코드 사이에선 더욱더 놓치기 쉽죠. 게다가 띄어쓰기는 키워드의 구분이 되기도 합니다. 그래서 변수명이나 함수명에선 띄어쓰기 대신 어떤 문자를 사용하느냐에 따라 다양한 표기법이 있습니다. 코딩 스타일 예시 내용 카멜 표기법(Camel Case) camelCase 띄어쓰기가 있는 부분의 문자를 대문자로 표기한다. (낙타, lower camel case라고도 함)) 헝가리안 표기법(Hungarian Notation) strHungarianNotation 카멜 케이스에서 앞에 데이터 타입을 명시하여 표기한다. (str, i, ch, b 등) 파스칼 표기법(Pascal Case) PascalCase 카멜 케이스에서 맨 앞의 문자까지 대문자로 표기한다. (쌍봉낙타, ..
iPhone XS 시리즈 이전의 기기들은 iTunes에서 UDID(Unique Device Identifier)를 가져왔습니다. 하지만 2018년에 출시된 XS 시리즈부터는 Xcode에서 UDID를 확인해야합니다. 또한, XS 시리즈 이전 기기들과 UDID 포맷이 다릅니다. Xcode 10.1기준으로 Window > Devices and Simulators > Devices로 들어가면 Identifier를 확인할 수 있습니다.
Objective-C로 프로그래밍을 시작하는 분들은 많지 않을 겁니다. 대부분 C나 java, 비교적 최근에 시작하신 분들은 javascript나 python 등으로 먼저 입문하셨을겁니다. Objective-C는 다른 언어들과 차이가 많은 편인데 그 중 쉽게 보이는 하나는 switch 문에 NSString 타입의 비교를 할 수 없습니다. 오로지 정수형 데이터만 비교 가능하기 때문에 아스키코드로 사용되는 char 타입까지만 switch문에서 비교가 가능하고 그 외의 비교가 불가능합니다. 이에 대한 해결책은 1. NSArray에서 index로 구분2. NSDictionary에서 key로 구분3. typedef에서 enum으로 구분4. if문에서 String 비교 메소드로 구분 하는 방법들이 있습니다. 1~3..
Xcode는 메이저 업데이트 이후로 등장한 OS에 대한 적응 업데이트가 별도로 없습니다. 무슨 말인가 하면 Xcode 8이 나온 이후에 iOS 10이 배포되었기 때문에, 더 이상 업데이트가 없는 Xcode 7에서는 iOS 10의 기기에서 빌드가 되지 않습니다. (시뮬레이터에서는 해당 버전 시뮬레이터 다운로드로 테스트가 가능합니다) 그래서 iOS 10 기기에서의 테스팅을 위해선 Xcode 8이 필요합니다. 새 술은 새 부대에 담으라는 단순한 이유입니다. 하지만 (다른 이유가 아닌)단순히 디바이스 빌드가 되지 않는다는 이유로 개발 환경을 바꾸는 것은 빈대 잡으려고 초가삼간 태우는 격입니다. 기존 개발 환경을 유지하면서 새로운 OS에 대한 대응을 하기 위한 방법을 소개합니다. 우선 해당 OS가 나온 이후에 업..
정식 배포를 앞두고 있는 하이 시에라(High Sierra)를 제외하면, 현재 최신 macOS는 시에라입니다. 애플은 게으른 개발자에게 그렇게 관대하지 않고, 그 철학에 맞게 macOS(뿐만아니라 iOS) 환경에 있는 사용자들의 최신 OS 사용률은 상당히 높은편이죠. 일례로 출시한지 1년도 되지 않은 iOS10의 사용률은 17년 6월 기준으로 86%라고 합니다. 하지만 상황에 따라 구버전 Xcode를 사용하는(사용해야하는) 개발자들도 많습니다. 대표적으로 시에라에서 Xcode 6버전은 작동하지 않습니다. 시에라의 최소 구동 Xcode 버전은 7(현재 최신 버전은 Xcode 8)이기 때문이죠. 매년 버전업이 되는 것은 분명 환영할 만한 일이지만, 개발 환경까지 매년 바꾸기엔 아무래도 여러가지 문제점이 없진..