2017-02-16 3 views
0

objective-c 라이브러리 패키지에 종속 된 신속한 실행 패키지가 있습니다. 나는 실행 가능한 패키지 개발을 위해 Xcode를 사용하려고 노력하고 있는데, 객차 모듈을 가져 오는 신속한 파일을 편집하는 중에 Could not build Objective-C module 'objcpackage' 오류가 발생합니다. 컴파일은 Xcode와 swift build을 사용하여 명령 행에서 직접 작동하지만, 바로 objc 패키지 가져 오기와 함께 빠른 파일을 열면 오류가 나타납니다. SPC를 사용하여 xcodeproj를 생성했습니다.Xcode가 포함 된 Swift Package Manager - Objective-C 모듈을 만들 수 없습니다.

빌드 디렉토리를 지우거나 청소하거나 생성 된 모듈 맵을 xcodeproj에서 삭제하거나 Xcode를 다시 시작해도 도움이되지 않았습니다.

나는 다음과 목표 - C 패키지를 만들었습니다

$ swift package init --type library

그것은 단지 하나의 헤더 Sources/include/Foo.h이 포함

#import <Foundation/Foundation.h> 

@interface Foo: NSObject 
@end 

.m 파일 :

#import "Foo.h" 

@implementation Foo 
@end 

Swi ft 패키지는 $ swift package init --type executable으로 생성되었습니다.

import PackageDescription 

let package = Package(
    name: "swiftpackage", 
    dependencies: [ .Package(url: "../objcpackage", majorVersion: 1) ] 
) 

main.swift 만 포함 :

import objcpackage 

Xcode 프로젝트가 $ swift package generate-xcodeproj

엑스 코드 버전으로 생성 한 : 8.2.1 (8C1002)

SW를 같이

Package.swift 파일이 보인다 ift 버전 : 3.0.2 (swiftlang-800.0.63 clang-800.0.42.1)

어떻게 그 오류를 제거 할 수 있습니까?

답변

1

이것은 패키지 관리자 (https://bugs.swift.org/browse/SR-3121)에서 최근에 수정 된 버그와 같습니다. https://swift.org/download/에서 최근 스냅 샷을 사용해 보셨습니까?

당신이 설명한 패키지를 최근 버전의 Swift 3.1로 테스트했는데 정상적으로 작동했습니다.

+0

고마워요! 최신 스냅 샷 ('3.1-dev (LLVM a7c680da51, Clang df9f12fda6, Swift 7cc03a3925)')을 사용하면 오류가 사라집니다. – CherryKuczery