Skapa objekt för iOS, Mac Catalyst, macOS och tvOS
Byggobjekt styr hur .NET för iOS-, Mac Catalyst-, macOS- och tvOS-program- eller biblioteksprojekt skapas.
Ytterligare App-tillägg
En objektgrupp som innehåller ytterligare apptillägg som ska kopieras till apppaketet.
AlternativAppikon
Den AlternateAppIcon
objektgruppen kan användas för att ange alternativa appikoner.
Include
metadata måste peka på filnamnet för en .appiconset
(för iOS, macOS och Mac Catalyst) eller .imagestack
(för tvOS) avbildningsresurs i en tillgångskatalog.
Exempel:
<ItemGroup>
<!-- The value to put in here for the "Resources/MyImages.xcassets/MyAlternateAppIcon.appiconset" resource would be "MyAlternateAppIcon" -->
<AlternateAppIcon Include="MyAlternateAppIcon" />
</ItemGroup>
Se även:
- Egenskapen AppIcon.
- Egenskapen IncludeAllAppIcons.
AtlasTexture
En objektgrupp som innehåller atlasstrukturer.
BGenReferencePath
Listan över sammansättningsreferenser som ska skickas till verktyget bgen
(bindningsgenerator).
Detta hanteras vanligtvis automatiskt genom att referenser läggs till som ProjectReference
eller PackageReference
objekt i stället.
BundleResource
Filer som ska kopieras till apppaketet.
Se även:
CodesignBundle
Ytterligare paket i den slutliga appen som ska signeras.
Syftet är att i appen signera andra paket som kopieras manuellt (till exempel via anpassade MSBuild-mål under bygget) till apppaketet.
Sökvägen som ska inkluderas är sökvägen till apppaketet för att logga in i huvudapppaketet, inklusive själva apppaketets namn.
Exempel:
<ItemGroup>
<CodesignBundle Include="$(AssemblyName).app/Contents/SharedSupport/MyCustomBundle.app" />
</ItemGroup>
Det finns flera metadata som kan ställas in på det CodesignBundle
objektet för att styra hur signering sker:
- CodesignAllokera
- CodesignEntitlements
- CodesignExtraArgs
- CodesignKeychain
- CodesignResourceRules
- CodesignSigningKey
- CodesignUseHardenedRuntime
- CodesignUseSecureTimestamp
Exempel:
<ItemGroup>
<CodesignBundle Include="$(AssemblyName).app/Contents/SharedSupport/MyCustomBundle.app">
<CodesignEntitlements>path/to/Entitlements.plist</CodesignEntitlements>
</CodesignBundle>
</ItemGroup>
Metadata som inte anges använder motsvarande egenskap i stället (till exempel om CodesignSigningKey
metadata inte har angetts används värdet för egenskapen CodesignSigningKey
i stället.)
Collada
En objektgrupp som innehåller collada-tillgångar.
Innehåll
Resurser (filer) som ska kopieras till apppaketet.
De placeras i följande katalog i apppaketet:
- /Resurser: iOS och tvOS
- /Contents/Resources: macOS och Mac Catalyst
Det går att ange Link
metadata till en sökväg i förhållande till målkatalogen för att ändra platsen i apppaketet.
Exempel:
<ItemGroup>
<Content Include="Readme.txt" Link="Documentation/Readme.txt" />
</ItemGroup>
skulle placera filen på följande plats:
- /Resources/Documentation/Readme.txt: iOS, tvOS, watchOS
- /Contents/Resources/Documentation/Readme.txt: macOS, Mac Catalyst
Se även:
CoreMLModel
En objektgrupp som innehåller CoreML-modeller.
Anpassade Rättigheter
En objektgrupp som innehåller anpassade rättigheter att lägga till i appen.
Dessa rättigheter behandlas sist och gäller före alla andra rättigheter, antingen från filen som anges med egenskapen CodesignEntitlements, eller från den provisioneringsprofil som används (om någon).
Det här är formatet:
<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
En objektgrupp som innehåller iTunes-illustrationer för IPA:er.
Gäller endast för iOS- och tvOS-projekt.
ITunesMetadata
Gäller endast för iOS- och tvOS-projekt.
ImageAsset
En objektgrupp som innehåller bildtillgångar.
InterfaceDefinition
En objektgrupp som innehåller gränssnittsdefinitioner (*.xib- eller *.storyboard-filer).
Länkbeskrivning
Ytterligare XML-filer som ska skickas till trimmern.
Detta är samma som inställningen TrimmerRootDescriptor.
Metall
En artikelgrupp som innehåller metalltillgångar.
NativeReference
En objektgrupp som innehåller inbyggda referenser som ska länkas in eller länkas med när du skapar det inhemska körbara programmet.
ObjcBindingApiDefinition
En objektgrupp som visar alla API-definitioner för bindningsprojekt.
ObjcBindingCoreSource
En objektgrupp som listar all baskällkod för bindningsprojekt.
ObjCBindingNativeFramework
En objektgrupp som visar alla interna ramverk som ska ingå i ett bindningsprojekt.
Den här objektgruppen är inaktuell, använd NativeReference i stället.
ObjcBindingNativeLibrary
En objektgrupp som visar alla interna bibliotek som ska ingå i ett bindningsprojekt.
Den här objektgruppen är inaktuell, använd NativeReference i stället.
PartialAppManifest
PartialAppManifest
kan användas för att lägga till ytterligare partiella appmanifest som ska sammanfogas med huvudappmanifestet (Info.plist).
Alla värden i de partiella appmanifesten åsidosätter värden i huvudappmanifestet om inte Overwrite
metadata anges till false
.
Om samma värde anges i flera partiella appmanifest är det obestämt vilket som ska användas.
<ItemGroup>
<PartialAppManifest Include="my-partial-manifest.plist" Overwrite="false" />
</ItemGroup>
Om utvecklaren behöver köra ett mål för att beräkna vad som ska läggas till i PartialAppManifest
objektgrupp är det möjligt att se till att det här målet körs innan PartialAppManifest
objekt bearbetas genom att lägga till det i egenskapen CollectAppManifestsDependsOn
:
<PropertyGroup>
<CollectAppManifestsDependsOn>
AddPartialAppManifests;
$(CollectAppManifestsDependsOn);
</CollectAppManifestsDependsOn>
</PropertyGroup>
<Target Name="AddPartialAppManifests">
<ItemGroup>
<PartialAppManifest Include="MyPartialAppManifest.plist" />
</ItemGroup>
</Target>
XcodeProject
<XcodeProject>
kan användas för att skapa och använda utdata från Xcode-ramverksprojekt som skapats i Xcode eller annarswehere.
Include
metadata ska peka på sökvägen till XCODEPROJ-filen som ska skapas.
<ItemGroup>
<XcodeProject Include="path/to/MyProject.xcodeproj" SchemeName="MyLibrary" />
</ItemGroup>
Följande MSBuild-metadata stöds:
%(SchemeName)
: Namnet på byggschemat eller målet som ska användas för att skapa projektet.%(Configuration)
: Namnet på konfigurationen som ska användas för att skapa projektet. Standardvärdet ärRelease
.%(CreateNativeReference)
: XCFRAMEWORK-utdatafiler läggs till som en@(NativeReference)
i projektet. Metadata som stöds av@(NativeReference)
som%(Kind)
,%(Frameworks)
eller%(SmartLink)
vidarebefordras om de anges. Standardvärdet ärtrue
.%(OutputPath)
: Kan ställas in för att åsidosätta XCARCHIVE- och XCFRAMEWORK-utdatasökvägen för Xcode-projektet. Standardvärdet är$(IntermediateOutputPath)xcode/{SchemeName}-{Hash}
.
Den här byggåtgärden introducerades i .NET 9.