Swifter {Swift Developer}

메뉴

Xcode8에서 실전 프로젝트 만들기

지금까지 몇번의 Swift 3.0 기반 프로젝트를 진행하면서 나름대로 최선의 프로젝트를 만드는 방법을 정리해본다. Carthage도 좋지만 솔직히 Cocoapods이 더좋아서 이부분으로 설정하는 방법을 소개한다.

Xcode에서 프로젝트 만들기

우선 Xcode를 실행하고 메뉴에서 File – New – Project를 선택하고 iOS의 “Application”에서 알맞은 앱타입을 선택하고 Next버튼을 눌러 알맞은 값들을 입력하고 Next버튼을 누르고 Create버튼을 눌러 프로젝트를 생성한다. 여기서는 “Single View Application”을 선택해 보았다.

프로젝트를 만든후에 다시 Xcode를 종료한다.

new-xcode1

Cocoapods

일반적으로 설치하는 것만 할 수 있지만, 팀단위 개발이라면 모두 같은 버전의 ruby, bundler와 cocoapods를 설치한다.

Homebrew

설치 (Mac에 설치된 표준 ruby로 homebrew를 설치한다.)

 ruby관련 설치 

rbenv Ruby환경 버전 전환도구로 PATH를 구성한다

rbenv-default-gems 이용

gem도 설치할 때 이용하는 도구로 어떤 버전의 ruby에서도 공통으로 이용하고 싶은 gem이 있는 경우 도움이 된다. 이번에는 모든 프로젝트에 동일한 버전의 bundler를 사용한다.

~/.rbenv/default-gems이 rbenv install후 같이 gem install하고 싶은 gem을 지정한다.

이제 rbenv install 했을 시 gem install bundler -v 1.13.1도 같이 만들어진다. 설치가능한 ruby버전을 확인하고 설치한다고 /.ruby-version버전이 작성된다.

Bundler

앱별로 gem(및 버전) 관리도구 rbenv-default-gems에 설치되어 있다. cocoapods는 이를 통해 설치한다. 프로젝트 아래 Gemfile을 작성해서 정의한다.

다음 명령을 통해 Gemfile에 작성한 gem을 설치한다.

Cocoapods

의존 라이브러리 해결하기 위한 도구로 bundler에서 설치되어 있다. 우선 setup을 처리한다.

다음으로 라이브러리를 정의하는 파일(Podfile)을 만든다.

아래와 같이 Podfile에 사용하려는 라이브러리를 정의한다.

이제 pod 관리하는 라이브러리를 설치한다.

git

gibo에서 우선 gitignore를 만들어둔다.

Pods디렉토리는 git관리하지 않은 것들은 #Pods/코멘트를 분리한다. 그 다음 git에 push해둔다.

fastlane

프로비저닝 프로파일을 얻거나 ipa작성등의 번거로운 작업을 자동화할 수 있는 도구이다. bindler에 설치되어 있다.

./fastlane 디렉토리에 설정파일을 만든다.

다음으로 Your Apple ID (e.g. fastlane@krausefx.com):에서 사용중인 Apple ID를 입력하고 비밀번호를 입력하는 순서대로 진행한다.

App Identifier (com.krausefx.app): 제품의 Bundle Identifier를 입력한다.

Would you like to create your app on iTunes Connect and the Developer Portal?

yes로 하면 iTunes Connect에 새 앱을 만들기 위해 입력해야 한다. Yes로 하면 fastlane에서 애플 신청을 이용할 수 잇게 된다. 또한 앱스토어에 앱이 있는 경우 metadata등을 가져온다.

Do you want to setup ‘deliver’, which is used to upload app screenshots, app metadata and app updates to the App Store?
This requires the app to be in the App Store already. (y/n)

Optional: The scheme name of your app (If you don’t need one, just hit Enter):

생성된 Fastfile의 line: test에서 스키마 지정이 되어 있지 않기 때문에 수정해야 한다.

$ bundle exec scan init에서 fastlane/Scanfile파일을 생성하고 지정해도 된다.

단위 테스트 동작확인

UI테스트와 Snapshop동작확인

나중에 정리할 예정

Xcode 플러그인

Xcode8에서는 Xcode 7용으로 나온 플러그인을 사용할 수 없다.이 부분에 대해서는 따로 설명하겠다.

Lint

SwiftLint를 사용한다.

Xcode설정은 RunScript로 설정한다.

 

 

 

 

 

Facebook Comments

카테고리:   Xcode

댓글

죄송하지만 댓글은 닫혀 있습니다.