2017-02-16 142 views
0

我有一個swift可執行文件包,它對objective-c庫包有依賴性。我試圖使用Xcode進行可執行程序包的開發,但在編輯導入objective-c模塊的swift文件時出現Could not build Objective-C module 'objcpackage'錯誤。編譯既可以從Xcode編譯,也可以直接從命令行使用swift build進行編譯,但只要導入該objc包後打開swift文件,就會彈出錯誤消息。 我已經使用SPM來生成xcodeproj。Xcode的Swift Package Manager - 無法構建Objective-C模塊

清理並清理構建目錄,從xcodeproj刪除生成的模塊映射或重新啓動Xcode沒有幫助。

我已創建Objective-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創建。

Package.swift文件看起來像:

import PackageDescription 

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

main.swift只包含:

import objcpackage 

Xcode項目與$ swift package generate-xcodeproj

的Xcode版本發佈:8.2.1 (8C1002)

瑞士法郎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

相關問題