2016-04-14 11 views
4

タイトルはそれをすべて言っています。 SWIFT_MODULE_NAMEのビルド設定を検索しましたが、何も表示されませんでした。私もオンラインで検索しましたが、この名前への参照がありますが、定義方法に関する情報はありません。 また、Apple DocsでSWIFT_MODULE_NAMEの記載が見つかりませんでした。それは、「Objective-Cの生成するインターフェイスヘッダ名」ビルド設定に使用され、設定値をダブルクリックして表示することができます:SWIFT_MODULE_NAMEを変更するにはどうすればよいですか?

私はこれを知っていますか

$(SWIFT_MODULE_NAME) -Swift.h

Objective-CとSwiftのギャップを埋めるために使用され、Swiftファイルを含むプロジェクト(私が推測するObjective-Cファイルとともに)にのみ表示されます。この投稿時点で、Xcode 7.3は最新かつ最高のものです。

ただし、この値はどこで定義されていますか、どのように変更しますか?

+1

この文書は、https://developer.apple.com/library/ios/documentation/Suft/Conceptual/BuildingCocoaApps/MixandMatch.html#//apple_ref/doc/uid/TP40014216-CH10-ID138で確認しましたか?通常は商品名です。 [ビルド設定]の[製品バンドル識別子]で値を変更することができます。フレームワーク内の製品名を上書きすることはできません。 – Zhao

+0

はい、有益です。ありがとうございます。そのドキュメントから: "XcodeはObjective-CブリッジヘッダーとSwiftコードの生成ヘッダーの名前を付けたときに、ターゲット名(TARGET_NAME)ではなく、製品モジュール名(PRODUCT_MODULE_NAME)を使用します。 – Sheamus

答えて

12

モジュール名は、設定を構築する製品モジュール名から来ている:

build settings screenshot

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)", 
    ); 
}, 
... 
+0

ありがとうございました! PRODUCT_MODULE_NAMEが変更され、SWIFT_MODULE_NAMEが更新されました。 – Sheamus

0

この文書はdeveloper.apple.com/library/ios/documentation/Swift/Conceptual/...にありますか?通常は商品名です。 [ビルド設定]の[製品バンドル識別子]で値を変更することができます。

enter image description here

3

ゴー設定を構築し、+「レベル」に、[次へ]をクリックし:あなたはスクリーンショットを参照してください枠組み

に製品名を上書きすることはできません。 を参照してください:

enter image description here

は、設定の名前、そして何.hファイルのためのモジュール名(スペースなし、してください)が右側に移行するためSWIFT_MODULE_NAMEとしてNEW_SETTINGを交換してください。

+0

ユーザー定義の設定を追加するためのプラス記号を押すと、最初は不足していた部分でした。 –

+0

SWIFT_MODULE_NAMEを追加し、モジュール名に「 - 」が含まれているため、XCode 9で単体テストを修正しました。ありがとう。 – SXC

関連する問題