タイトルはそれをすべて言います。ビルド設定でSwift_MODULE_NAMEを検索しましたが、何も見つかりませんでした。私もオンラインで検索しましたが、この名前への参照がありますが、それがどのように定義されているかについての情報はありません。 さらに、Apple Docs。でSwift_MODULE_NAMEについての言及が見つかりませんでした。
私はこれを知っています。「Objective-C Generated Interface Header Name」ビルド設定で使用され、設定値をダブルクリックして表示できます。
$(Swift_MODULE_NAME)-Swift.h
これは、Objective-CとSwiftの間のギャップを埋めるために使用され、Swiftファイル、(私が想定するObjective-Cファイルとともに)を含むプロジェクトにのみ表示されます。この投稿の時点で、Xcode 7.3が最新かつ最高です。
しかし、この値はどこで定義され、どのように変更するのですか?
モジュール名は、製品モジュール名のビルド設定から取得されます。
Swift_MODULE_NAME
設定は明らかに非表示になっていますが、その派生はXcode.app/Contents/PlugIns/Xcode3Core.ideplugin/Contents/SharedSupport/Developer/Library/Xcode/Plug-ins/XCLanguageSupport.xcplugin/Contents/Resources/Swift.xcspec
で確認できます。
...
{
Name = "Swift_MODULE_NAME";
Type = String;
DefaultValue = "$(PRODUCT_MODULE_NAME)";
CommandLineArgs = (
"-module-name",
"$(value)",
);
},
...
_Build Settings
_には、import
ステートメントを使用したときの外観を決定する_Product Module Name
_が含まれています。たとえば、Library
またはFramework
を作成する場合です。
デフォルトでは_PRODUCT_NAME
_と同じです。 (名前の一致は必須です)
デフォルト値:
Product Name
_:$(TARGET_NAME:c99extidentifier)
Product Module Name
_:$(PRODUCT_NAME:c99extidentifier)
この値は、Objective-Cを使用して_.modulemap
_で変更できます
使用:
_//Objective-C
@import module_name;
//Swift
import module_name
_