2017-12-10 1 views
0

저는 패키지 관리자가 새롭고 라이브러리를 올바르게 가져올 수 없습니다. 나는 다음과 같은 코드를 사용하고 있습니다 :신속한 패키지 관리자 '대상을 찾을 수 없습니다'오류 메시지

import PackageDescription 

let package = Package(
    name: "MyAppName", 
    products: [ 
     .executable(name: "MyAppName", targets: ["MyAppName"]) 
    ], 
    dependencies: [ 
     .package(url: "https://github.com/socketio/socket.io-client-swift", .upToNextMinor(from: "13.1.0")) 
    ], 
    targets: [ 
     .target(name: "MyAppName", dependencies: ["SocketIO"], path: "./Source Files") 
    ] 
) 

이 파일을 생성하고 내 프로젝트 메인 디렉토리에 배치 한 후, 나는 터미널 창을 열고 빠른 빌드를 입력합니다.

could not find target(s): MyAppName; use the 'path' property in the Swift 4 manifest to set a custom target path 

난 정말 내가 잘못하고있는 무슨 제품을 이해하고 패키지 파일의 섹션을 대상으로하지 않습니다 파일은 그러나 나는 다음과 같은 오류 메시지가 가져올 수 있습니다. 방금 실행 파일과 대상에 대한 내 응용 프로그램 "MyAppName"을 넣었지만 그게 맞는지 이해하지 못했습니다. 또한 경로가 정확한지 확실하지 않습니다. 주 프로젝트 디렉토리의 소스 파일이라는 폴더에 라이브러리를 추가하고 싶습니다. 당신의 Package.swift

답변

1

모든 만 최상위 디렉토리에있는 디렉토리 소스, 소스, SRC, SRCS 중 하나의 소스 파일로 MyAppName 디렉토리를 둘 필요가, 잘 보인다. 그래서 최상위 디렉토리 (Package.swift가있는 사람이) 다음과 같은 구조가 있어야합니다 대상의 정의에 '경로'속성을 추가 할 수 있습니다, 또는

TopLevelDirectory |- Package.swift |- Sources |- MyAppName |- MyAppNameSource1.swift |- MyAppNameSource2.swift

을 "MyAppName 소스가있는 디렉토리가 상주하는 위치를 지정합니다.

참조 : https://github.com/apple/swift-package-manager/blob/master/Documentation/PackageDescriptionV4.md#target-format-reference

+0

답장을 보내 주셔서 감사합니다. 내 소스 파일에 경로를 추가하려고했지만 명령 줄에서 신속하게 빌드 할 때 오류가 발생합니다. '신속한 : 9 : 8 : 오류 : 해당 모듈 없음'UIKit '가져 오기 UIKit' 하나씩. 실제로 거기에서 무슨 일이 일어나고 있는지 그리고 왜 UIKit이 참조되는지 또는 왜 내 소스 파일을 통해 진행되는지 알지 못합니다. 패키지 관리자 및 종속성에 대한 이해가 매우 제한적이라고 생각합니다. – alionthego

+0

MyAppName 소스에서 UIKit에 대한 참조가 나타나는 위치를 확인해야합니다. UIKit은 클라이언트 측 모듈이며 서버 측에 포팅되지 않은 것입니다. Swift Package Manager는 명령 행에서 MacOS 및 Linux에서 실행되는 서버 측 코드 용입니다. –

+0

이전에 Xcode에서 OS가 아니라 iOS 프로젝트를 수행 중입니다. 궁금한 점이 있다면 – alionthego

관련 문제