2016-09-26 2 views
23

Swift 및 Xcode를 처음 사용합니다. macOS Sierra와 Swift 3을 실행 중입니다.Swift 패키지 관리자를 사용하여 Xcode 8에 Swift 3 패키지 추가

Swift에서 처음으로 작업 할 때는 간단한 명령 행 도구를 개발하고 있습니다. GitHub의 두 패키지에 대한 설치 지침에는 패키지 매니페스트 파일의 종속성으로 Swift 패키지 관리자를 추가하는 방법이 나와 있습니다.

내가 알 수없는 것은 Xcode에서이를 수행하는 방법입니다. 내 프로젝트의 루트에 'package.swift'파일을 만드시겠습니까? 이 작업을 수행 한 다음 필수 패키지가 내 프로젝트에 추가되지 않는 것처럼 보이기 때문에 프로젝트가 실행되지 않습니다.

내가 잘못 했나요?

+0

설치하려는 패키지는 무엇입니까? – Do2

+0

특히 https://github.com/onevcat/Rainbow – Garry

+0

cocoapods를 통해 설치하십시오! 설치 가이드는 cocoapods 웹 사이트를 참조하십시오 – Do2

답변

40

Xcode와 SPM은 함께 사용할 수 있지만 명령 줄에서 한 걸음 씩 나가야한다고 말할 수 있습니다.

은 Xcode 프로젝트와 동일한 디렉토리에 패키지 매니페스트 파일을 넣고, 다음 패키지 관리자가 의존성을 풀다운하고 참조 할 수있는 .xcodeproj 파일을 다시 작성합니다 swift package generate-xcodeproj

호출합니다.

그것은 기존의 소스를 유지하지만, 디렉토리 구조가 SPM 선호하는 배열로 재구성됩니다, 내가 광범위하게 라이브 프로젝트에서이 테스트를하지 않은

PROJECT_DIR 
├── Sources 
│ └── ProjectName 
│  ├── YourCode.swift 
│  └── YourOtherCode.swift 
├── Dependencies 
│ └── SomeDependency 
│  ├── DependencyCode.swift 
│  └── OtherDependencyCode.swift 
└── Package.swift 

N.B.; SPM 워드 프로세서가 여전히 WIP라고 말하는 사실을 감안할 때 최근 커밋을했는지 확인하십시오.

+0

감사. 매력을 발휘합니다. +1도 안전 조언을! – Garry

+0

SPM이'.xcodeproj' 파일의 디렉토리 구조를 변경시키지 않도록 할 방법이 있습니까? 나는'Sources' 폴더 안에있는 모든 파일들에 대해서 너무 열광하지는 않지만'Sources' 폴더를 가리키는 네비게이터 내부의 그룹을 가지고 있습니다. 나는 그들을 그대로 유지하고 싶습니다. –

+1

이 단계를 수행하는 사람에게 "no foo found no"라는 컴파일러 오류가 표시됩니다. 버전 9.2에서 Xcode는 두 가지 권장 프로젝트 변경 사항을 제공했습니다. 그 중 하나는 Swift 3 @objc 유추를 기본값으로 설정하는 것입니다. 이러한 변경을 수행 한 후 필자는 가져 오기를 위해 외부 종속성 모듈을 인식했습니다. – Airuop

0

swift package generate-xcodeproj을 실행하는 것 외에도 설치된 패키지를 사용하기 전에 Xcode에서 프로젝트를 빌드해야했습니다.

+0

패키지 관리자가 패키지를 다운로드 할 때 합리적으로 이해하고 사용하려면 패키지 관리자를 컴파일해야합니다. – zirinisp