Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Položky pro sestavení určují, jak se sestavují projekty .NET pro iOS, Mac Catalyst, macOS a tvOS nebo projekty knihoven.
Další rozšíření aplikace
Skupina položek obsahující všechna další rozšíření aplikace, která se mají zkopírovat do sady aplikací.
Můžete nastavit následující metadata:
- Obsahuje: Cesta k adresáři se sestavením pro projekt rozšíření aplikace Xcode.
- Název: Název rozšíření.
- BuildOutput: Tato hodnota se připojí k hodnotě
Include, která vytvoří umístění sady appex. Xcode obvykle umístí sestavení pro simulátor a zařízení do různých umístění, takže to lze použít k tomu, aby měl jedinýAdditionalAppExtensionszáznam odkazující na dvě různé sady appex v závislosti na tom, zda se sestavuje pro simulátor nebo zařízení. - CodesignEntitlements: Určuje oprávnění, která se mají použít při podepisování rozšíření aplikace. Výchozí hodnota je '%(Name).entitlements' v adresáři sestavení 'Include' (pokud tento soubor existuje).
- CodesignWarnIfNoEntitlements: Pokud není nastavena žádná
CodesignEntitlementshodnota, vytvoří se upozornění. Tuto vlastnost lze nastavit tak, abyfalsetoto upozornění umlčela.
Příklad:
<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>
Ukázkové řešení najdete tady: TestApplication.
AlternativníIkonaAplikace
Skupinu položek AlternateAppIcon lze použít k určení alternativních ikon aplikací.
Metadata Include musí odkazovat na název souboru obrázkového prostředku .appiconset (pro iOS, macOS a Mac Catalyst) nebo .imagestack (pro tvOS) v katalogu prostředků.
Příklad:
<ItemGroup>
<!-- The value to put in here for the "Resources/MyImages.xcassets/MyAlternateAppIcon.appiconset" resource would be "MyAlternateAppIcon" -->
<AlternateAppIcon Include="MyAlternateAppIcon" />
</ItemGroup>
Viz také:
- Vlastnost AppIcon.
- Vlastnost IncludeAllAppIcons.
AtlasTexture
Skupina položek, která obsahuje textury atlasu.
BGenReferencePath
Seznam referencí k sestavení, které se mají předat nástroji bgen (generátor vazeb).
Obvykle se to zpracovává automaticky přidáním odkazů jako položek ProjectReference nebo PackageReference.
BundleResource
Soubory, které se mají zkopírovat do sady aplikací.
Viz také:
CodesignBundle
Další balíčky uvnitř konečné aplikace, které by se měly podepsat.
Účelem je zahrnout do procesu podepisování aplikace všechny ostatní balíčky, které jsou ručně kopírovány (například prostřednictvím vlastních cílů MSBuild během sestavování) do balíčku aplikace.
Cesta, kterou je třeba zahrnout, je cesta k sadě aplikací, kterou je třeba podepsat uvnitř hlavní sady aplikací, včetně samotného názvu této sady.
Příklad:
<ItemGroup>
<CodesignBundle Include="$(AssemblyName).app/Contents/SharedSupport/MyCustomBundle.app" />
</ItemGroup>
Na CodesignBundle položce je možné nastavit několik metadat, aby bylo možné nasměrovat, jak k podepisování dochází:
- CodesignAllocate
- codesignEntitlements
- CodesignExtraArgs
- CodesignKeychain
- PravidlaSpolupráceZdrojů
- CodesignSigningKey
- CodesignUseHardenedRuntime
- Použít bezpečné časové razítko pro Codesign
Příklad:
<ItemGroup>
<CodesignBundle Include="$(AssemblyName).app/Contents/SharedSupport/MyCustomBundle.app">
<CodesignEntitlements>path/to/Entitlements.plist</CodesignEntitlements>
</CodesignBundle>
</ItemGroup>
Všechna metadata, která nejsou nastavena, budou místo toho používat odpovídající vlastnost (například pokud nejsou nastavena metadata CodesignSigningKey, použije se místo toho hodnota vlastnosti CodesignSigningKey.)
Collada
Skupina položek, která obsahuje soubory Collada.
Obsah
Prostředky (soubory), které se mají zkopírovat do sady aplikací.
Umístí se do následujícího adresáře v sadě aplikací:
- /Zdroje: iOS a tvOS
- /Contents/Resources: macOS a Mac Catalyst
Metadata Link je možné nastavit na cestu vzhledem k cílovému adresáři a změnit umístění v sadě aplikací.
Příklad:
<ItemGroup>
<Content Include="Readme.txt" Link="Documentation/Readme.txt" />
</ItemGroup>
umístí soubor do následujícího umístění:
- /Resources/Documentation/Readme.txt: iOS, tvOS
- /Contents/Resources/Documentation/Readme.txt: macOS, Mac Catalyst
Viz také:
CoreML Model
Skupina položek, která obsahuje modely CoreML.
Vlastní oprávnění
Skupina položek, která obsahuje vlastní oprávnění pro přidání do aplikace.
Tato oprávnění se zpracovávají jako poslední a přepíší všechna ostatní oprávnění ze souboru zadaného pomocí vlastnosti CodesignEntitlements nebo z používaného zřizovacího profilu (pokud existuje).
Toto je formát:
<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
Skupina položek, která obsahuje grafiku iTunes pro IPAs.
Platí pouze pro projekty iOS a tvOS.
ITunesMetadata
Platí pouze pro projekty iOS a tvOS.
ImageAsset
Skupina položek, která obsahuje obrazové soubory.
Definice rozhraní
Skupina položek obsahující definice rozhraní (soubory *.xib nebo *.storyboard).
Popis odkazu
Další soubory XML, které se mají předat do zatřihovače.
To je stejné jako nastavení TrimmerRootDescriptor.
LinkerArgument
Další argumenty, které se mají předat nativnímu linkeru (ld) při kompilaci hlavního spustitelného souboru pro aplikaci nebo rozšíření aplikace.
Příklad 1 (pro propojení s architekturou AudioToolbox ):
<ItemGroup>
<LinkerArgument Include="-framework" />
<LinkerArgument Include="AudioToolbox" />
</ItemGroup>
Příklad 2 (pro propojení s vlastní statickou knihovnou):
<ItemGroup>
<LinkerArgument Include="$(MSBuildProjectDirectory)/libCustom.a" />
</ItemGroup>
Každý argument linkeru je samostatný LinkerArgumenta argumenty nesmí být citovány.
Všechny argumenty se předají nativnímu linkeru v pořadí, v jakém jsou přidány do LinkerArgument skupiny položek, ale přesné umístění ve všech argumentech předaných nativnímu linkeru není definováno.
Nativní spustitelný soubor se automaticky znovu sestaví, pokud se sada LinkerArgument mezi sestaveními změní, ale pokud LinkerArgument odkazuje na soubor (například statickou knihovnu), a jestliže se tento soubor změní, tato změna se nezjistí a nativní spustitelný soubor se automaticky nepřestaví.
Kov
Skupina položek obsahující kovová aktiva.
MlaunchAdditionalArguments
Skupina položek, která obsahuje další argumenty mlaunch nástroje, která slouží ke spouštění aplikací na zařízení a simulátoru. Nástroj mlaunch je považován za interní nástroj a chování se může kdykoli změnit.
Poznámka:
To platí jenom při spuštění aplikace z příkazového řádku (dotnet run nebo dotnet build -t:Run), ne při spuštění z integrovaného vývojového prostředí (IDE).
MlaunchEnvironmentVariables
Skupina položek obsahující proměnné prostředí, které se nastaví při spuštění aplikace, a to buď na zařízení, nebo v simulátoru.
Poznámka:
To platí jenom při spuštění aplikace z příkazového řádku (dotnet run nebo dotnet build -t:Run), ne při spuštění z integrovaného vývojového prostředí (IDE).
NativeReference
Skupina položek, která obsahuje jakékoli nativní odkazy, jež by měly být propojeny nebo připojeny při vytváření nativního spustitelného souboru.
ObjcBindingApiDefinition
Skupina položek, která obsahuje seznam všech definic rozhraní API pro vazbové projekty.
ObjcBindingCoreSource
Skupina položek se seznamem všech základních zdrojových kódů pro vazbové projekty.
ObjCBindingNativeFramework
Skupina položek, která obsahuje seznam všech nativních architektur, které by měly být zahrnuty do vazbového projektu.
Tato skupina položek je zastaralá, místo toho použijte NativeReference.
ObjcBindingNativeLibrary
Skupina položek, která obsahuje seznam všech nativních knihoven, které by měly být zahrnuty do vazbového projektu.
Tato skupina položek je zastaralá, místo toho použijte NativeReference.
Částečný manifest aplikace
PartialAppManifest lze použít k přidání dalších částečných manifestů aplikace, které budou sloučeny s hlavním manifestem aplikace (Info.plist).
Všechny hodnoty v částečném manifestu aplikace přepíší hodnoty v hlavním manifestu aplikace, pokud není Overwrite metadata nastavena na false.
Pokud je stejná hodnota zadaná v několika částečných manifestech aplikace, není určená, která z nich se použije.
<ItemGroup>
<PartialAppManifest Include="my-partial-manifest.plist" Overwrite="false" />
</ItemGroup>
Pokud vývojář potřebuje provést cíl pro výpočet toho, co se má přidat do skupiny položek PartialAppManifest, je možné zajistit, aby se tento cíl spustil před procesem PartialAppManifest položek přidáním do vlastnosti CollectAppManifestsDependsOn:
<PropertyGroup>
<CollectAppManifestsDependsOn>
AddPartialAppManifests;
$(CollectAppManifestsDependsOn);
</CollectAppManifestsDependsOn>
</PropertyGroup>
<Target Name="AddPartialAppManifests">
<ItemGroup>
<PartialAppManifest Include="MyPartialAppManifest.plist" />
</ItemGroup>
</Target>
SkipCodesignItems
Skupina položek, která určuje soubory nebo adresáře v sadě aplikací, které by se neměly podepsat.
Účelem je vyloučit z podepisování souborů a adresářů, které se zkopírují ručně (například prostřednictvím vlastních cílů MSBuild v souboru projektu) do sady aplikací a které jsou již podepsané.
Cesta, která se má zahrnout, je cesta k souboru nebo adresáři vzhledem ke kořenovému adresáři balíčku aplikace.
Příklad:
<ItemGroup>
<SkipCodesignItems Include="Contents/SharedSupport/mysignedlibrary.dylib" />
</ItemGroup>
Platí pro všechny platformy.
XcodeProject
<XcodeProject> lze použít k sestavení a využívání výstupů projektů architektury Xcode vytvořených v Xcode nebo elsewehere.
Metadata Include by měla odkazovat na cestu k souboru XCODEPROJ, který se má sestavit.
<ItemGroup>
<XcodeProject Include="path/to/MyProject.xcodeproj" SchemeName="MyLibrary" />
</ItemGroup>
Podporují se následující metadata nástroje MSBuild:
%(SchemeName): Název schématu sestavení nebo cíle, který by se měl použít k sestavení projektu.%(Configuration): Název konfigurace, která se má použít k sestavení projektu. Výchozí hodnota jeRelease.%(CreateNativeReference): Výstupní soubory XCFRAMEWORK se do projektu přidají jako@(NativeReference). Metadata podporovaná@(NativeReference), jako%(Kind),%(Frameworks)nebo%(SmartLink), se přepošle, pokud je nastavena. Výchozí hodnota jetrue.%(OutputPath): Lze nastavit pro přepsání výstupní cesty XCARCHIVE a XCFRAMEWORK projektu Xcode. Výchozí hodnota je$(IntermediateOutputPath)xcode/{SchemeName}-{Hash}.
Tato akce sestavení byla zavedena v .NET 9.