はここSwifty
モジュールがSwiftPMでobjective-cモジュールにswiftモジュールを使用するには?
// MyStruct.swift
public struct MyStruct {
public var text = "Hello, World!"
public init() {
}
}
そして、私はこのような迅速なモジュールをリンクしようObjc-cli
で単純な構造体であるルートディレクトリ
├── Package.swift
└── Sources
├── Objc-cli
│ └── main.m
└── Swifty
└── MyStruct.swift
の一例です。悲しいことに、コンパイラは、Objective-Cのモジュール内Swifty
モジュールを認識しない
// Package.swift
import PackageDescription
let package = Package(
name: "MyTest",
targets: [
Target(name: "Swifty", dependencies: []),
Target(name: "Objc-cli", dependencies: ["Swifty"]),
]
)
:ここ
// main.m
#import <Foundation/Foundation.h>
@import Swifty <---- Not found
int main() {
NSLog(@"Hello from Objc");
return 0;
}
はPackage.swift
がどのように見えるかです。ここに出力があります:
$ swift build
Compile Swift Module 'Swifty' (1 sources)
Compile Objc-cli main.m
/tmp/TestPackage/Sources/Objc-cli/main.m:10:9: fatal error: module 'Swifty' not found
@import Swifty
~~~~~~~^~~~~~
1 error generated.
<unknown>:0: error: build had 1 command failures
私は何かを見逃してしまったのですか、今のところ不可能ですか?
はあなただけ '@import Swifty'を削除しようとしたことがありますか? – masters3d
@ masters3d私がしようとしているのは、高速モジュールをobjective-cモジュールにインポートすることです。インポートを削除する目的は何ですか? – klefevre
obj-cモジュールが迅速なパッケージ内のTestパッケージである場合、インポートは必要ありません。 – masters3d