Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Os itens de compilação controlam como os projetos de aplicativos ou bibliotecas .NET para iOS, Mac Catalyst, macOS e tvOS são criados.
Extensões de Aplicação Adicionais
Um grupo de itens que contém extensões de aplicativo adicionais para copiar para o pacote de aplicativos.
Os seguintes metadados podem ser definidos:
- Incluir: O caminho para o diretório de build do projeto de extensão de app do Xcode.
- Nome: O nome da extensão.
- BuildOutput: Este valor é anexado ao valor
Includepara produzir o local do pacote appex. Normalmente, o Xcode colocará as compilações do simulador e do dispositivo em locais diferentes, podendo assim ser usada uma única entradaAdditionalAppExtensionsque aponte para dois pacotes appex diferentes, dependendo se está a construir para o simulador ou para o dispositivo. - CodesignEntitlements: especifica os direitos a serem usados ao assinar a extensão do aplicativo. O valor padrão é '%(Name).entitlements' no diretório de compilação 'Include' (se esse arquivo existir).
- CodesignWarnIfNoEntitlements: Um aviso será emitido se nenhum valor para
CodesignEntitlementsfor definido. Esta propriedade pode ser configurada parafalsesilenciar este aviso.
Exemplo:
<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>
Um exemplo de solução pode ser encontrado aqui: TestApplication.
ÍconeAppAlternativo
O grupo de itens AlternateAppIcon pode ser usado para especificar ícones alternativos do aplicativo.
Os metadados Include devem apontar para o nome do ficheiro de um recurso de imagem .appiconset (para iOS, macOS e Mac Catalyst) ou .imagestack (para tvOS) dentro de um catálogo de ativos.
Exemplo:
<ItemGroup>
<!-- The value to put in here for the "Resources/MyImages.xcassets/MyAlternateAppIcon.appiconset" resource would be "MyAlternateAppIcon" -->
<AlternateAppIcon Include="MyAlternateAppIcon" />
</ItemGroup>
Ver também:
- A propriedade AppIcon.
- A propriedade IncludeAllAppIcons.
AtlasTexture
Um grupo de itens que contém texturas de atlas.
BGenReferencePath
A lista de referências de assembly a serem passadas para a ferramenta bgen (gerador de vínculo).
Normalemente, isso é tratado automaticamente adicionando itens como referências ProjectReference ou PackageReference.
BundleResource
Arquivos a serem copiados para o pacote de aplicativos.
Ver também:
CodesignBundle
Pacotes adicionais dentro do aplicativo final que devem ser assinados.
O objetivo é incluir no aplicativo a assinatura de quaisquer outros pacotes que sejam copiados manualmente (por exemplo, por meio de destinos MSBuild personalizados durante a compilação) para o pacote de aplicativos.
O caminho a incluir é o caminho para o pacote de aplicativos a assinar dentro do pacote de aplicativos principal, incluindo o nome do próprio pacote de aplicativos.
Exemplo:
<ItemGroup>
<CodesignBundle Include="$(AssemblyName).app/Contents/SharedSupport/MyCustomBundle.app" />
</ItemGroup>
Há várias partes de metadados que podem ser definidas no item CodesignBundle para direcionar como a assinatura ocorre:
- CodesignAtribuir
- CodesignDireitos
- CodesignExtraArgs
- CodesignKeychain
- CodesignResourceRules
- CodesignSigningKey
- CodesignUseHardenedRuntime
- CodesignUseSecureTimestamp
Exemplo:
<ItemGroup>
<CodesignBundle Include="$(AssemblyName).app/Contents/SharedSupport/MyCustomBundle.app">
<CodesignEntitlements>path/to/Entitlements.plist</CodesignEntitlements>
</CodesignBundle>
</ItemGroup>
Quaisquer metadados não definidos usarão a propriedade correspondente em vez disso (por exemplo, se os metadados CodesignSigningKey não estiverem definidos, o valor da propriedade CodesignSigningKey será usado.)
Collada
Um grupo de itens que contém ativos collada.
Conteúdo
Recursos (arquivos) a serem copiados para o pacote de aplicativos.
Eles serão colocados no seguinte diretório dentro do pacote de aplicativos:
- /Recursos: iOS e tvOS
- /Conteúdo/Recursos: macOS e Mac Catalyst
É possível definir os metadados Link para um caminho relativo ao diretório de destino para alterar o local no pacote de aplicativos.
Exemplo:
<ItemGroup>
<Content Include="Readme.txt" Link="Documentation/Readme.txt" />
</ItemGroup>
colocaria o arquivo no seguinte local:
- /Recursos/Documentação/Readme.txt: iOS, tvOS
- /Conteúdo/Recursos/Documentação/Readme.txt: macOS, Mac Catalyst
Ver também:
Modelo CoreML
Um grupo de itens que contém modelos CoreML.
Direitos personalizáveis
Um grupo de itens que contém direitos personalizados para adicionar ao aplicativo.
Esses direitos são processados por último e substituirão quaisquer outros direitos, seja do arquivo especificado com o propriedade CodesignEntitlements ou do perfil de provisionamento em uso (se houver).
Este é o formato:
<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
Um grupo de itens que contém ilustrações do iTunes para IPAs.
Aplicável apenas a projetos iOS e tvOS.
ITunesMetadata
Aplicável apenas a projetos iOS e tvOS.
ImagemAsset
Um grupo de itens que contém ativos de imagem.
Definição de Interface
Um grupo de itens que contém definições de interface (arquivos *.xib ou *.storyboard).
Descrição do Link
Arquivos xml adicionais para passar para o aparador.
Isso é o mesmo que definir TrimmerRootDescriptor.
LinkerArgument
Argumentos adicionais a serem passados para o vinculador nativo (ld) ao compilar o executável principal para um aplicativo ou extensão de aplicativo.
Exemplo 1 (para ligação com o AudioToolbox framework):
<ItemGroup>
<LinkerArgument Include="-framework" />
<LinkerArgument Include="AudioToolbox" />
</ItemGroup>
Exemplo 2 (para vincular a uma biblioteca estática personalizada):
<ItemGroup>
<LinkerArgument Include="$(MSBuildProjectDirectory)/libCustom.a" />
</ItemGroup>
Cada argumento para o vinculador é um separado LinkerArgumente os argumentos não devem ser citados.
Todos os argumentos serão passados para o vinculador nativo na ordem em que são adicionados ao LinkerArgument grupo de itens, mas o local exato dentro de todos os argumentos passados para o vinculador nativo não está definido.
O executável nativo será reconstruído automaticamente se o conjunto de LinkerArgument mudar entre compilações, mas se um LinkerArgument apontar para um ficheiro (como uma biblioteca estática) e esse ficheiro alterar, essa alteração não será detetada e o executável nativo não será reconstruído automaticamente.
Metal
Um grupo de itens que contém ativos metálicos.
ArgumentosAdicionaisParaLançamento
Um grupo de itens que contém argumentos extras para a mlaunch ferramenta, que é usada para iniciar aplicativos no dispositivo e no simulador. A mlaunch ferramenta é considerada uma ferramenta interna e o comportamento pode mudar a qualquer momento.
Observação
Isso só se aplica ao iniciar o aplicativo a partir da linha de comando (dotnet run ou dotnet build -t:Run), não ao iniciar a partir do IDE.
VariáveisDeAmbienteDoMlaunch
Um grupo de itens que contém variáveis de ambiente que serão definidas quando o aplicativo for iniciado, no dispositivo ou no simulador.
Observação
Isso só se aplica ao iniciar o aplicativo a partir da linha de comando (dotnet run ou dotnet build -t:Run), não ao iniciar a partir do IDE.
NativeReference
Um grupo de itens que contém quaisquer referências nativas a serem integradas ou associadas ao criar o executável nativo.
ObjcBindingApiDefinition
Um grupo de itens que lista todas as definições de API para projetos de vinculação.
ObjcBindingCoreSource
Um grupo de itens que lista todo o código-fonte principal para projetos de vinculação.
ObjCBindingNativeFramework
Um grupo de itens que lista todos os frameworks nativos que devem ser incluídos num projeto de binding.
Este grupo de itens foi preterido, use NativeReference em vez disso.
Biblioteca Nativa de Ligação Objc
Um grupo de itens que lista todas as bibliotecas nativas que devem ser incluídas em um projeto de vinculação.
Este grupo de itens foi preterido, use NativeReference em vez disso.
Manifesto Parcial da Aplicação
PartialAppManifest pode ser usado para adicionar outros manifestos parciais do aplicativo que serão mesclados com o manifesto principal do aplicativo (Info.plist).
Quaisquer valores nos manifestos parciais do aplicativo substituirão os valores no manifesto do aplicativo principal, a menos que os metadados Overwrite estejam definidos como false.
Se o mesmo valor for especificado em vários manifestos parciais do aplicativo, não será determinado qual será o usado.
<ItemGroup>
<PartialAppManifest Include="my-partial-manifest.plist" Overwrite="false" />
</ItemGroup>
Se o desenvolvedor precisar executar um destino para calcular o que adicionar ao grupo de itens PartialAppManifest, é possível garantir que esse destino seja executado antes que os itens PartialAppManifest sejam processados, adicionando-o à propriedade CollectAppManifestsDependsOn:
<PropertyGroup>
<CollectAppManifestsDependsOn>
AddPartialAppManifests;
$(CollectAppManifestsDependsOn);
</CollectAppManifestsDependsOn>
</PropertyGroup>
<Target Name="AddPartialAppManifests">
<ItemGroup>
<PartialAppManifest Include="MyPartialAppManifest.plist" />
</ItemGroup>
</Target>
SímboloNativoDeReferência
O grupo de itens ReferenceNativeSymbol pode ser usado para especificar como devemos lidar com um determinado símbolo nativo: ignorá-lo ou pedir ao vinculador nativo para mantê-lo (passando o símbolo como -u ... ou em um arquivo de símbolo para o vinculador nativo).
Existem dois tipos de metadados suportados:
-
SymbolType: ouObjectiveCClass,FunctionouField. Usado para calcular o nome nativo completo de um símbolo (por exemplo, o símbolo nativo para a classe Objective-CMyClassé_OBJC_CLASS_$_MyClass, enquanto para uma funçãoMyFunctioné apenas_MyFunction. -
SymbolMode:Ignoreou não definido.Ignoresignifica não passar o símbolo dado para o vinculador nativo, o padrão é fazê-lo.
SymbolType é necessário, enquanto SymbolMode não é.
Exemplo de símbolo a manter:
<ItemGroup>
<ReferenceNativeSymbol Include="MyClass" SymbolType="ObjectiveCClass" />
</ItemGroup>
Exemplo de símbolo a ignorar:
<ItemGroup>
<ReferenceNativeSymbol Include="MyClass" SymbolType="ObjectiveCClass" SymbolMode="Ignore" />
</ItemGroup>
SkipCodesignItems
Um grupo de itens que especifica arquivos ou diretórios no pacote de aplicativos que não devem ser assinados.
O objetivo é excluir da assinatura arquivos e diretórios que são copiados manualmente (por exemplo, por meio de destinos MSBuild personalizados no arquivo de projeto) para o pacote de aplicativos e que já estão assinados.
O caminho a ser incluído é o caminho para o arquivo ou diretório relativo à raiz do pacote de aplicativos.
Exemplo:
<ItemGroup>
<SkipCodesignItems Include="Contents/SharedSupport/mysignedlibrary.dylib" />
</ItemGroup>
Aplicável a todas as plataformas.
XcodeProject
<XcodeProject> pode ser usado para construir e consumir as saídas de projetos de estrutura Xcode criados no Xcode ou elsewehere.
Os metadados Include devem apontar para o caminho do arquivo XCODEPROJ a ser construído.
<ItemGroup>
<XcodeProject Include="path/to/MyProject.xcodeproj" SchemeName="MyLibrary" />
</ItemGroup>
Os seguintes metadados do MSBuild são suportados:
%(SchemeName): O nome do esquema de construção ou destino que deve ser usado para construir o projeto.%(Configuration): O nome da configuração a ser usada para construir o projeto. O valor padrão éRelease.%(CreateNativeReference): Os arquivos XCFRAMEWORK de saída serão adicionados como um@(NativeReference)ao projeto. Se estiverem definidos, os metadados, suportados por@(NativeReference)como%(Kind),%(Frameworks)ou%(SmartLink), serão encaminhados. O valor padrão étrue.%(OutputPath): Pode ser definido para substituir o caminho de saída do XCARCHIVE e do XCFRAMEWORK no projeto Xcode. O valor padrão é$(IntermediateOutputPath)xcode/{SchemeName}-{Hash}.
Esta ação de compilação foi introduzida no .NET 9.