Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Les éléments de génération contrôlent la façon dont les projets d’application ou de bibliothèque .NET pour iOS, Mac Catalyst, macOS et tvOS sont générés.
AdditionalAppExtensions
Groupe d’éléments qui contient toutes les extensions d’application supplémentaires à copier dans le bundle d’applications.
Les métadonnées suivantes peuvent être définies :
- Inclure : chemin d’accès au répertoire de build du projet d’extension d’application Xcode.
- Nom : nom de l’extension.
- BuildOutput : cette valeur est ajoutée à la valeur
Includepour déterminer l’emplacement de l'appex bundle. En règle générale, Xcode place les builds de simulateur et d’appareil dans différents emplacements. Cela permet d’utiliser une seule entréeAdditionalAppExtensionspointant vers deux bundles appex différents, selon qu'il s'agit d'un build pour simulateur ou pour appareil. - CodesignEntitlements : spécifie les droits à utiliser lors de la signature de l’extension d’application. La valeur par défaut est '%(Name).entitlements' dans le répertoire de build « Include » (si ce fichier existe).
- CodesignWarnIfNoEntitlements : un avertissement est généré si aucune valeur
CodesignEntitlementsn’est définie. Cette propriété peut être définie surfalsepour désactiver cet avertissement.
Exemple:
<ItemGroup>
<AdditionalAppExtensions Include="path/to/my.appex">
<Name>MyAppExtensionName</Name>
<BuildOutput Condition="'$(SdkIsSimulator)' == 'false'">DerivedData/MyAppExtensionName/Build/Products/Debug-iphoneos</BuildOutput>
<BuildOutput Condition="'$(SdkIsSimulator)' == 'true'">DerivedData/MyAppExtensionName/Build/Products/Debug-iphonesimulator</BuildOutput>
<CodesignEntitlements>path/to/Entitlements-appextension.plist</CodesignEntitlements>
<CodesignWarnIfNoEntitlements>false</CodesignWarnIfNoEntitlements>
</AdditionalAppExtensions>
</ItemGroup>
Vous trouverez un exemple de solution ici : TestApplication.
AlternateAppIcon
Le AlternateAppIcon groupe d’éléments peut être utilisé pour spécifier d’autres icônes d’application.
Les Include métadonnées doivent pointer vers le nom de fichier d’une .appiconset ressource d’image (pour iOS, macOS et Mac Catalyst) ou .imagestack (pour tvOS) à l’intérieur d’un catalogue de ressources.
Exemple:
<ItemGroup>
<!-- The value to put in here for the "Resources/MyImages.xcassets/MyAlternateAppIcon.appiconset" resource would be "MyAlternateAppIcon" -->
<AlternateAppIcon Include="MyAlternateAppIcon" />
</ItemGroup>
Voir aussi :
- La propriété de l'icône d'application.
- Propriété IncludeAllAppIcons.
AtlasTexture
Groupe d’éléments qui contient des textures atlas.
BGenReferencePath
Liste des références d'assemblage à transmettre à l'outil bgen (générateur de liaison).
En règle générale, cela est géré automatiquement en ajoutant des références en tant qu’éléments ProjectReference ou PackageReference.
BundleResource
Fichiers à copier dans le bundle d’applications.
Voir aussi :
CodesignBundle
Des offres groupées supplémentaires à l’intérieur de l’application finale qui doivent être signées.
L'objectif est d'inclure dans la signature de l'application tous les autres bundles qui sont copiés manuellement (par exemple via des cibles MSBuild personnalisées pendant le processus de génération) dans le bundle de l'application.
Le chemin à inclure est le chemin vers le bundle d'application à signer à l'intérieur du bundle d'application principal, y compris le nom du bundle d'application lui-même.
Exemple:
<ItemGroup>
<CodesignBundle Include="$(AssemblyName).app/Contents/SharedSupport/MyCustomBundle.app" />
</ItemGroup>
Plusieurs éléments de métadonnées peuvent être définis sur l’élément CodesignBundle pour diriger la façon dont la signature se produit :
- CodesignAllocate
- CodesignEntitlements
- CodesignExtraArgs
- CodesignKeychain
- CodesignResourceRules
- CodesignSigningKey
- CodesignUseHardenedRuntime
- CodesignUseSecureTimestamp
Exemple:
<ItemGroup>
<CodesignBundle Include="$(AssemblyName).app/Contents/SharedSupport/MyCustomBundle.app">
<CodesignEntitlements>path/to/Entitlements.plist</CodesignEntitlements>
</CodesignBundle>
</ItemGroup>
Les métadonnées non définies utilisent plutôt la propriété correspondante (par exemple si les métadonnées CodesignSigningKey ne sont pas définies, la valeur de la propriété CodesignSigningKey sera utilisée à la place.)
Collada
Groupe d’éléments qui contient des ressources collada.
Contenu
Ressources (fichiers) à copier dans le bundle d’applications.
Ils seront placés dans le répertoire suivant dans le bundle d’applications :
- /Resources : iOS et tvOS
- /Contents/Resources : macOS et Mac Catalyst
Il est possible de définir les métadonnées Link sur un chemin relatif au répertoire cible afin de modifier l'emplacement dans le bundle de l'application.
Exemple:
<ItemGroup>
<Content Include="Readme.txt" Link="Documentation/Readme.txt" />
</ItemGroup>
place le fichier à l’emplacement suivant :
- /Resources/Documentation/Readme.txt: iOS, tvOS
- /Contents/Resources/Documentation/Readme.txt: macOS, Mac Catalyst
Voir aussi :
CoreMLModel
Groupe d’éléments qui contient des modèles CoreML.
CustomEntitlements
Groupe d’éléments qui contient des droits personnalisés à ajouter à l’application.
Ces droits sont traités en dernier et remplacent les autres droits, soit à partir du fichier spécifié avec la propriété CodesignEntitlements , soit à partir du profil d’approvisionnement en cours d’utilisation (le cas échéant).
Il s’agit du format suivant :
<ItemGroup>
<CustomEntitlements Include="name.of.entitlement" Type="Boolean" Value="true" /> <!-- value can be 'false' too (case doesn't matter) -->
<CustomEntitlements Include="name.of.entitlement" Type="String" Value="stringvalue" />
<CustomEntitlements Include="name.of.entitlement" Type="StringArray" Value="a;b" /> <!-- array of strings, separated by semicolon -->
<CustomEntitlements Include="name.of.entitlement" Type="StringArray" Value="a😁b" ArraySeparator="😁" /> <!-- array of strings, separated by 😁 -->
<CustomEntitlements Include="name.of.entitlement" Type="Remove" /> <!-- This will remove the corresponding entitlement -->
</ItemGroup>
ITunesArtwork
Groupe d’éléments qui contient des illustrations iTunes pour les fichiers IPA.
Applicable uniquement aux projets iOS et tvOS.
ITunesMetadata
Applicable uniquement aux projets iOS et tvOS.
ImageAsset
Groupe d’éléments qui contient des ressources d’image.
Définition de l'interface
Groupe d’éléments qui contient des définitions d’interface (fichiers *.xib ou *.storyboard).
LinkDescription
Fichiers XML supplémentaires à passer à l'outil de réduction.
Il s’agit de la même définition de TrimmerRootDescriptor.
LinkerArgument
Arguments supplémentaires à passer à l’éditeur de liens natif (ld) lors de la compilation du fichier exécutable principal pour une application ou une extension d’application.
Exemple 1 (pour établir un lien avec l’infrastructure AudioToolbox ) :
<ItemGroup>
<LinkerArgument Include="-framework" />
<LinkerArgument Include="AudioToolbox" />
</ItemGroup>
Exemple 2 (pour établir un lien avec une bibliothèque statique personnalisée) :
<ItemGroup>
<LinkerArgument Include="$(MSBuildProjectDirectory)/libCustom.a" />
</ItemGroup>
Chaque argument de l’éditeur de liens est un argument distinct LinkerArgumentet les arguments ne doivent pas être entre guillemets.
Tous les arguments sont passés à l’éditeur de liens natif dans l’ordre dans lequel ils sont ajoutés au LinkerArgument groupe d’éléments, mais l’emplacement exact dans tous les arguments passés à l’éditeur de liens natif n’est pas défini.
L’exécutable natif sera reconstruit automatiquement si l'ensemble des LinkerArgument change entre les builds, mais si un LinkerArgument pointe vers un fichier (par exemple, une bibliothèque statique) et que ce fichier change, cette modification ne sera pas détectée et l’exécutable natif ne sera pas reconstruit automatiquement.
Métal
Groupe d’éléments qui contient des ressources métalliques.
MlaunchAdditionalArguments
Groupe d’éléments qui contient des arguments supplémentaires pour l’outil mlaunch, utilisé pour lancer des applications sur l’appareil et dans le simulateur. L’outil mlaunch est considéré comme un outil interne, et le comportement peut changer à tout moment.
Remarque
Cela s’applique uniquement lors du lancement de l’application à partir de la ligne de commande (dotnet run ou ), et dotnet build -t:Runnon lors du lancement à partir de l’IDE.
MlaunchEnvironmentVariables
Groupe d’éléments qui contient des variables d’environnement qui seront définies lors du lancement de l’application, sur l’appareil ou dans le simulateur.
Remarque
Cela s’applique uniquement lors du lancement de l’application à partir de la ligne de commande (dotnet run ou ), et dotnet build -t:Runnon lors du lancement à partir de l’IDE.
NativeReference
Groupe d'éléments contenant toutes les références natives qui doivent être liées ou associées lors de la génération de l'exécutable natif.
ObjcBindingApiDefinition
Groupe d’éléments qui répertorie toutes les définitions d’API pour les projets de liaison.
ObjcBindingCoreSource
Groupe d’éléments qui répertorie tout le code source principal pour les projets de liaison.
ObjCBindingNativeFramework
Groupe d’éléments qui répertorie tous les frameworks natifs qui doivent être inclus dans un projet de liaison.
Ce groupe d’éléments est déconseillé, utilisez NativeReference à la place.
ObjcBindingNativeLibrary
Groupe d’éléments qui répertorie toutes les bibliothèques natives qui doivent être incluses dans un projet de liaison.
Ce groupe d’éléments est déconseillé, utilisez NativeReference à la place.
PartialAppManifest
PartialAppManifest peut être utilisé pour ajouter des manifestes d’application partiels supplémentaires qui seront fusionnés avec le manifeste d’application principal (Info.plist).
Toutes les valeurs dans les manifestes d'application partielle remplaceront celles du manifeste d'application principal, sauf si les métadonnées Overwrite sont définies sur false.
Si la même valeur est spécifiée dans plusieurs manifestes d’application partielle, il est indéterminé laquelle sera utilisée.
<ItemGroup>
<PartialAppManifest Include="my-partial-manifest.plist" Overwrite="false" />
</ItemGroup>
Si le développeur doit exécuter une cible pour calculer ce qu’il faut ajouter au PartialAppManifest groupe d’éléments, il est possible de s’assurer que cette cible est exécutée avant que les PartialAppManifest éléments soient traités en l’ajoutant à la CollectAppManifestsDependsOn propriété :
<PropertyGroup>
<CollectAppManifestsDependsOn>
AddPartialAppManifests;
$(CollectAppManifestsDependsOn);
</CollectAppManifestsDependsOn>
</PropertyGroup>
<Target Name="AddPartialAppManifests">
<ItemGroup>
<PartialAppManifest Include="MyPartialAppManifest.plist" />
</ItemGroup>
</Target>
SkipCodesignItems
Groupe d’éléments qui spécifie des fichiers ou des répertoires dans le bundle d’applications qui ne doivent pas être signés.
L’objectif est d’exclure de la signature de fichiers et de répertoires copiés manuellement (par exemple via des cibles MSBuild personnalisées dans le fichier projet) dans le bundle d’applications, et qui sont déjà signés.
Le chemin d’accès à inclure est le chemin d’accès au fichier ou au répertoire par rapport à la racine du bundle d’applications.
Exemple:
<ItemGroup>
<SkipCodesignItems Include="Contents/SharedSupport/mysignedlibrary.dylib" />
</ItemGroup>
Applicable à toutes les plateformes.
XcodeProject
<XcodeProject> peut être utilisé pour générer et consommer les sorties des projets d’infrastructure Xcode créés dans Xcode ou elsewehere.
Les Include métadonnées doivent pointer vers le chemin du fichier XCODEPROJ à générer.
<ItemGroup>
<XcodeProject Include="path/to/MyProject.xcodeproj" SchemeName="MyLibrary" />
</ItemGroup>
Les métadonnées MSBuild suivantes sont prises en charge :
%(SchemeName): Le nom du schéma de compilation ou de la cible qui doit être utilisé pour compiler le projet.%(Configuration): nom de la configuration à utiliser pour générer le projet. La valeur par défaut estRelease.%(CreateNativeReference): Les fichiers XCFRAMEWORK de sortie seront ajoutés en tant que@(NativeReference)dans le projet. Les métadonnées prises en charge par@(NativeReference)like%(Kind),%(Frameworks)ou%(SmartLink)seront transférées si elles sont définies. La valeur par défaut esttrue.%(OutputPath): peut être défini pour remplacer le chemin de sortie XCARCHIVE et XCFRAMEWORK du projet Xcode. La valeur par défaut est$(IntermediateOutputPath)xcode/{SchemeName}-{Hash}.
Cette action de génération a été introduite dans .NET 9.