Le titre dit tout. J'ai cherché dans les paramètres de build Swift_MODULE_NAME, et rien ne s'est produit. J'ai également recherché en ligne, et il y a des références à ce nom, mais il n'y a aucune information sur la façon dont il est défini. De plus, je n'ai trouvé aucune mention de Swift_MODULE_NAME dans les Apple Docs.
Je le sais: il est utilisé dans le paramètre de construction "Objective-C Generated Interface Header Name" et peut être consulté en double-cliquant sur la valeur des paramètres:
$ (Swift_MODULE_NAME) -Swift.h
Il est utilisé pour combler l'écart entre Objective-C et Swift, et n'apparaît que pour les projets qui incluent Swift, (ainsi que les fichiers Objective-C je présume). À partir de cette publication, Xcode 7.3 est le dernier et le plus grand.
Mais, où cette valeur est-elle définie et comment la modifier?
Le nom du module provient du paramètre de génération Nom du module de produit:
Le Swift_MODULE_NAME
le paramètre est apparemment masqué, mais vous pouvez voir sa dérivation en regardant 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
Contient Product Module Name
Qui détermine à quoi ressemblera l'instruction import
lorsqu'elle sera utilisée. Par exemple, lorsque vous créez un Library
ou un Framework
.
Par défaut, il est égal à PRODUCT_NAME
. (La correspondance du nom est obligatoire)
Les valeurs par défaut:
Product Name
: $(TARGET_NAME:c99extidentifier)
Product Module Name
: $(PRODUCT_NAME:c99extidentifier)
Cette valeur peut être modifiée par .modulemap
En utilisant Objective-C
En utilisant:
//Objective-C
@import module_name;
//Swift
import module_name
Avez-vous vérifié ce document: developer.Apple.com/library/ios/documentation/Swift/Conceptual/…? c'est généralement le nom de votre produit. Vous pouvez définir modifier la valeur dans "Product Bundle Identifier" dans Build Settings. Notez que vous ne pouvez pas remplacer un nom de produit dans un Framework
Voir la capture d'écran: