2017-02-16 17 views
0

私は、objective-cライブラリパッケージに依存するスピーディな実行可能パッケージを持っています。私は実行可能なパッケージ開発のためにXcodeを使用しようとしていますが、私はCould not build Objective-C module 'objcpackage'エラーを取得していますが、目的のCモジュールをインポートするswiftファイルを編集しています。コンパイルはXcodeからも、コマンドラインから直接swift buildを使っても動作しますが、そのobjcパッケージをインポートしてswiftファイルを開くと、エラーがポップアップします。 私はxcodeprojを生成するためにSPMを使用しました。XcodeのSwift Package Manager - Objective-Cモジュールを構築できませんでした

ビルドディレクトリをクリーンでクリーンにしたり、生成されたモジュールマップをxcodeprojから削除したり、Xcodeを再起動しても役立ちませんでした。

私は次のようにObjective-Cのパッケージを作成しました:

$ swift package init --type library

1つだけのヘッダーSources/include/Foo.hが含まれています

#import <Foundation/Foundation.h> 

@interface Foo: NSObject 
@end 

と1つの.mファイル:

#import "Foo.h" 

@implementation Foo 
@end 

スウィーftパッケージは$ swift package init --type executableで作成されました。

Package.swiftファイルは次のようになります。

import PackageDescription 

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

main.swiftしか含まれています:8.2.1 (8C1002)

SW:

import objcpackage 

Xcodeプロジェクトは$ swift package generate-xcodeproj

Xcodeのバージョンで作成されました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

関連する問題