Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Elementy kompilacji kontrolują sposób tworzenia projektów aplikacji lub bibliotek platformy .NET dla systemów iOS, Mac Catalyst, macOS i tvOS.
DodatkoweRozszerzeniaAplikacji
Grupa elementów zawierająca wszelkie dodatkowe rozszerzenia aplikacji do skopiowania do pakietu aplikacji.
Można ustawić następujące metadane:
- Uwzględnij: ścieżka do katalogu kompilacji dla projektu rozszerzenia aplikacji Xcode.
- Nazwa: nazwa rozszerzenia.
- BuildOutput: Ta wartość jest dołączana do wartości
Include, aby określić lokalizację pakietu appex. Zazwyczaj Xcode umieszcza kompilacje dla symulatora i urządzenia w różnych lokalizacjach, co pozwala na utworzenie jednego wpisuAdditionalAppExtensionswskazującego na dwa różne pakiety appex, w zależności od tego, czy kompilacja jest przeznaczona dla symulatora, czy urządzenia. - CodesignEntitlements: Określa, które uprawnienia należy wykorzystać podczas podpisywania rozszerzenia aplikacji. Wartość domyślna to "%(Name).entitlements" w katalogu kompilacji 'Include' (jeśli ten plik istnieje).
- CodesignWarnIfNoEntitlements: Ostrzeżenie zostanie wygenerowane, jeśli wartość
CodesignEntitlementsnie zostanie ustawiona. Tę właściwość można ustawić tak,falseaby wyciszyć to ostrzeżenie.
Przykład:
<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>
Przykładowe rozwiązanie można znaleźć tutaj: TestApplication.
Alternatywna ikona aplikacji
Grupę elementów AlternateAppIcon można użyć do określania alternatywnych ikon aplikacji.
Metadane Include muszą wskazywać nazwę pliku .appiconset (dla systemów iOS, macOS i Mac Catalyst) lub zasobu obrazu .imagestack (w przypadku systemu tvOS) wewnątrz katalogu zasobów.
Przykład:
<ItemGroup>
<!-- The value to put in here for the "Resources/MyImages.xcassets/MyAlternateAppIcon.appiconset" resource would be "MyAlternateAppIcon" -->
<AlternateAppIcon Include="MyAlternateAppIcon" />
</ItemGroup>
Zobacz również:
- Właściwość AppIcon.
- Właściwość IncludeAllAppIcons.
AtlasTexture
Grupa elementów zawierająca tekstury atlasu.
BGenReferencePath
Lista odwołań do zestawów do przekazania do narzędzia bgen (generator powiązań).
Zazwyczaj jest to obsługiwane automatycznie przez dodanie odwołań w postaci elementów ProjectReference lub PackageReference.
BundleResource
Pliki do skopiowania do pakietu aplikacji.
Zobacz również:
CodesignBundle
Dodatkowe pakiety wewnątrz ostatecznej aplikacji, które powinny być podpisane.
Celem jest włączenie do podpisywania aplikacji wszystkich innych pakietów, które są kopiowane ręcznie (na przykład poprzez niestandardowe cele MSBuild podczas kompilacji) do pakietu aplikacji.
Ścieżka, którą należy uwzględnić, to ścieżka do pakietu aplikacji, który ma zostać podpisany w ramach głównego pakietu aplikacji, łącznie z samą nazwą pakietu aplikacji.
Przykład:
<ItemGroup>
<CodesignBundle Include="$(AssemblyName).app/Contents/SharedSupport/MyCustomBundle.app" />
</ItemGroup>
Istnieje kilka elementów metadanych, które można ustawić w elemencie CodesignBundle w celu kierowania sposobu podpisywania:
- CodesignAllocate
- CodesignEntitlements
- CodesignExtraArgs
- CodesignKeychain
- CodesignResourceRules
- CodesignSigningKey
- CodesignUseHardenedRuntime
- CodesignUseSecureTimestamp
Przykład:
<ItemGroup>
<CodesignBundle Include="$(AssemblyName).app/Contents/SharedSupport/MyCustomBundle.app">
<CodesignEntitlements>path/to/Entitlements.plist</CodesignEntitlements>
</CodesignBundle>
</ItemGroup>
Wszystkie metadane, które nie są ustawione, będą używać odpowiedniej właściwości (na przykład jeśli metadane CodesignSigningKey nie są ustawione, zamiast tego zostanie użyta wartość właściwości CodesignSigningKey).
Collada
Grupa elementów zawierająca zasoby Collada.
Zawartość
Zasoby (pliki) do skopiowania do pakietu aplikacji.
Zostaną one umieszczone w następującym katalogu w pakiecie aplikacji:
- /Resources: iOS i tvOS
- /Contents/Resources: macOS i Mac Catalyst
Można ustawić metadane Link na ścieżkę względem katalogu docelowego, aby zmienić lokalizację w pakiecie aplikacji.
Przykład:
<ItemGroup>
<Content Include="Readme.txt" Link="Documentation/Readme.txt" />
</ItemGroup>
umieści plik w następującej lokalizacji:
- /Resources/Documentation/Readme.txt: iOS, tvOS
- /Contents/Resources/Documentation/Readme.txt: macOS, Mac Catalyst
Zobacz również:
CoreMLModel
Grupa elementów zawierająca modele CoreML.
Niestandardowe Uprawnienia
Grupa elementów zawierająca uprawnienia niestandardowe do dodania do aplikacji.
Te uprawnienia są przetwarzane ostatnio i zastąpią wszelkie inne uprawnienia z pliku określonego przy użyciu właściwości CodesignEntitlements lub z używanego profilu aprowizacji (jeśli istnieje).
Jest to format:
<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
Grupa elementów zawierająca grafikę iTunes dla plików IPA.
Dotyczy tylko projektów systemów iOS i tvOS.
ITunesMetadata
Dotyczy tylko projektów systemów iOS i tvOS.
ImageAsset
Grupa elementów zawierająca zasoby obrazów.
InterfejsDefinicja
Grupa elementów zawierająca definicje interfejsu (pliki *.xib lub *.storyboard).
OpisLinku
Dodatkowe pliki XML, które mają być przekazywane do trymeru.
Jest to takie samo, jak ustawienie TrimmerRootDescriptor.
LinkerArgument
Dodatkowe argumenty do przekazania do natywnego linkera (ld) podczas kompilowania głównego pliku wykonywalnego aplikacji lub jej rozszerzenia.
Przykład 1 (aby połączyć się ze strukturą AudioToolbox ):
<ItemGroup>
<LinkerArgument Include="-framework" />
<LinkerArgument Include="AudioToolbox" />
</ItemGroup>
Przykład 2 (aby połączyć się z niestandardową biblioteką statyczną):
<ItemGroup>
<LinkerArgument Include="$(MSBuildProjectDirectory)/libCustom.a" />
</ItemGroup>
Każdy argument linkera jest odrębnym LinkerArgumentargumentem, a argumenty nie mogą być cytowane.
Wszystkie argumenty zostaną przekazane do konsolidatora natywnego w kolejności, w której zostaną dodane do LinkerArgument grupy elementów, ale dokładna lokalizacja we wszystkich argumentach przekazanych do konsolidatora natywnego nie jest zdefiniowana.
Natywny plik wykonywalny zostanie automatycznie przebudowany, jeśli zestaw LinkerArgument zmienia się między kompilacjami, ale jeśli LinkerArgument odnosi się do pliku (np. bibliotekę statyczną), i ten plik ulega zmianie, ta zmiana nie zostanie wykryta, a natywny plik wykonywalny nie zostanie w takim przypadku automatycznie przebudowany.
Metal
Grupa elementów zawierająca zasoby metalowe.
MlaunchDodatkoweArgumenty
Grupa elementów zawierająca dodatkowe argumenty dla narzędzia mlaunch, które jest używane do uruchamiania aplikacji na urządzeniu oraz w symulatorze. Narzędzie mlaunch jest uznawane za narzędzie wewnętrzne, a zachowanie może ulec zmianie w dowolnym momencie.
Uwaga / Notatka
Ma to zastosowanie tylko w przypadku uruchamiania aplikacji z poziomu wiersza polecenia (dotnet run lub dotnet build -t:Run), a nie podczas uruchamiania ze środowiska IDE.
MlaunchEnvironmentVariables
Grupa elementów zawierająca zmienne środowiskowe, które zostaną ustawione podczas uruchamiania aplikacji na urządzeniu lub w symulatorze.
Uwaga / Notatka
Ma to zastosowanie tylko w przypadku uruchamiania aplikacji z poziomu wiersza polecenia (dotnet run lub dotnet build -t:Run), a nie podczas uruchamiania ze środowiska IDE.
NativeReference
Grupa elementów zawierająca wszelkie odwołania natywne, które powinny być uwzględnione lub powiązane podczas tworzenia natywnego pliku wykonywalnego.
ObjcBindingApiDefinition
Grupa elementów zawierająca listę wszystkich definicji API dla projektów powiązaniowych.
ObjcBindingCoreSource
Grupa elementów zawierająca wszystkie podstawowe kody źródłowe dla projektów wiążących.
ObjCBindingNativeFramework
Grupa elementów zawierająca listę wszystkich natywnych frameworków, które powinny zostać uwzględnione w projekcie wiążącym.
Ta grupa elementów jest przestarzała, zamiast tego użyj NativeReference.
BibliotekaNatywnaObjcBinding
Grupa elementów zawierająca listę wszystkich bibliotek natywnych, które powinny być uwzględnione w projekcie powiązania.
Ta grupa elementów jest przestarzała, zamiast tego użyj NativeReference.
PartialAppManifest (Częściowy Manifest Aplikacji)
PartialAppManifest można użyć do dodawania dodatkowych częściowych manifestów aplikacji, które zostaną scalone z głównym manifestem aplikacji (Info.plist).
Wszystkie wartości w częściowych manifestach aplikacji zastąpią wartości w manifeście głównej aplikacji, chyba że Overwrite metadane są ustawione na wartość false.
Jeśli ta sama wartość jest określona w wielu częściowych manifestach aplikacji, nie jest określona, która będzie używana.
<ItemGroup>
<PartialAppManifest Include="my-partial-manifest.plist" Overwrite="false" />
</ItemGroup>
Jeśli deweloper musi wykonać cel, aby obliczyć, co należy dodać do grupy elementów PartialAppManifest, można upewnić się, że ten cel jest wykonany przed przetworzeniem elementów PartialAppManifest, dodając go do właściwości CollectAppManifestsDependsOn.
<PropertyGroup>
<CollectAppManifestsDependsOn>
AddPartialAppManifests;
$(CollectAppManifestsDependsOn);
</CollectAppManifestsDependsOn>
</PropertyGroup>
<Target Name="AddPartialAppManifests">
<ItemGroup>
<PartialAppManifest Include="MyPartialAppManifest.plist" />
</ItemGroup>
</Target>
SkipCodesignItems
Grupa elementów określająca pliki lub katalogi w pakiecie aplikacji, które nie powinny być podpisane.
Celem jest wykluczenie z procesu podpisywania tych plików i katalogów, które są kopiowane ręcznie (na przykład poprzez niestandardowe cele MSBuild w pliku projektu) do pakietu aplikacji, a które są już podpisane.
Ścieżka do uwzględnienia to ścieżka do pliku lub katalogu względem katalogu głównego pakietu aplikacji.
Przykład:
<ItemGroup>
<SkipCodesignItems Include="Contents/SharedSupport/mysignedlibrary.dylib" />
</ItemGroup>
Dotyczy wszystkich platform.
XcodeProject
<XcodeProject> można użyć do kompilowania i korzystania z danych wyjściowych projektów platformy Xcode utworzonych w środowisku Xcode lub elsewehere.
Metadane Include powinny wskazywać ścieżkę pliku XCODEPROJ do skompilowania.
<ItemGroup>
<XcodeProject Include="path/to/MyProject.xcodeproj" SchemeName="MyLibrary" />
</ItemGroup>
Obsługiwane są następujące metadane MSBuild:
%(SchemeName): nazwa schematu kompilacji lub elementu docelowego, który ma być używany do kompilowania projektu.%(Configuration): nazwa konfiguracji, która ma być używana do kompilowania projektu. Wartość domyślna toRelease.%(CreateNativeReference): wyjściowe pliki XCFRAMEWORK zostaną dodane jako@(NativeReference)do projektu. Metadane obsługiwane przez@(NativeReference)takie jak%(Kind),%(Frameworks)lub%(SmartLink)będą przekazywane w przypadku ustawienia. Wartość domyślna totrue.%(OutputPath): można ustawić tak, aby zastąpić ścieżkę wyjściową XCARCHIVE i XCFRAMEWORK projektu Xcode. Wartość domyślna to$(IntermediateOutputPath)xcode/{SchemeName}-{Hash}.
Ta akcja kompilacji została wprowadzona na platformie .NET 9.