Dela via


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:

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:

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 är Release.

  • %(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 är true.

  • %(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.