Compartilhar via


Migração de projetos Xamarin da Apple

Um projeto do .NET 8 para um aplicativo .NET para iOS é semelhante ao seguinte exemplo:

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFramework>net8.0-ios</TargetFramework>
    <OutputType>Exe</OutputType>
    <Nullable>enable</Nullable>
    <ImplicitUsings>true</ImplicitUsings>
    <SupportedOSPlatformVersion>13.0</SupportedOSPlatformVersion>
  </PropertyGroup>
</Project>

Para um projeto de biblioteca, omita a propriedade $(OutputType) completamente ou especifique Library como o valor da propriedade.

Alterações nas propriedades do MSBuild

A seguinte tabela mostra como mapear propriedades em projetos do Xamarin da Apple para projetos do .NET:

Propriedade Descrição .NET Conversão de projeto
MtouchExtraArgs Argumentos adicionais para mtouch. Alguns argumentos ainda são aplicáveis, alguns argumentos não são. Copiar
MtouchArch Arquitetura(s) de aplicativo. N/D Converter em RuntimeIdentifier. Para obter mais informações, consulte Converter em RuntimeIdentifier.
XamMacArch Arquitetura(s) de aplicativo. N/D Converter em RuntimeIdentifier. Para obter mais informações, consulte Converter em RuntimeIdentifier.
HttpClientHandler A HttpClientHandler padrão. UseNativeHttpHandler Converter em UseNativeHttpHandler. Para obter mais informações, consulte Converter em UseNativeHttpHandler.
MtouchHttpClientHandler O MtouchHttpClientHandler. padrão UseNativeHttpHandler Converter em UseNativeHttpHandler. Para obter mais informações, consulte Converter em UseNativeHttpHandler.
EnableCodeSigning Especifica se a assinatura de código está habilitada. Copiar
CodeSigningKey Especifica a chave de assinatura de código. Renomear para CodesignKey
CodesignKey Especifica a chave de assinatura de código. Copiar
CodesignProvision Especifica o perfil de provisão. Copiar
CodesignEntitlements O caminho para o arquivo de direitos. Copiar
CodesignExtraArgs Argumentos extras de assinatura de código. Copiar
PackageSigningKey Especifica a chave de assinatura de código para assinar o pacote. Copiar
PackagingExtraArgs Especifica os argumentos extras para a ferramenta de empacotamento. Copiar
ProductDefinition O caminho para o arquivo de definição do produto a ser usado ao empacotar. Copiar
MtouchEnableSGenConc Renomeie para EnableSGenConc.
EnableSGenConc Copiar

Converter em RuntimeIdentifier

A seguinte tabela mostra como converter as propriedades MtouchArch e XamMacArch na propriedade RuntimeIdentifier ou na propriedade RuntimeIdentifiers ao migrar um projeto Xamarin.iOS para o .NET para iOS:

Valor RuntimeIdentifier RuntimeIdentifiers
ARMv7 ios-arm
ARMv7s ios-arm
ARMv7+ARMv7s ios-arm
ARM64 ios-arm64
ARMv7+ARM64 ios-arm;ios-arm64
ARMv7+ARMv7s+ARM64 ios-arm;ios-arm64
x86_64 iossimulator-x64
i386 iossimulator-x86
x86_64+i386 iossimulator-x86;iossimulator-x64

Importante

Se você tiver vários identificadores de runtime, use a propriedade RuntimeIdentifiers em vez da propriedade RuntimeIdentifier.

A seguinte tabela mostra como converter as propriedades MtouchArch e XamMacArch na propriedade RuntimeIdentifier ao migrar um projeto Xamarin.Mac para o .NET para macOS+:

Propriedade RuntimeIdentifier
x86_64 osx-x64

A seguinte tabela mostra como converter as propriedades MtouchArch e XamMacArch na propriedade RuntimeIdentifier ao migrar um projeto Xamarin.tvOS para o .NET para tvOS:

Propriedade RuntimeIdentifier
ARM64 tvos-arm64
x86_64 tvossimulator-x64

Para obter mais informações sobre a propriedade RuntimeIdentifier, consulte RuntimeIdentifier. Para obter mais informações sobre identificadores de runtime, confira Catálogo do .NET RID.

Converter em UseNativeHttpHandler

A seguinte tabela mostra como converter as propriedades HttpClientHandler e MtouchHttpClientHandler na propriedade UseNativeHttpHandler ao migrar um projeto do Xamarin Apple para o .NET 8:

Valor UseNativeHttpHandler
HttpClientHandler false
NSUrlSessionHandler não definir
CFNetworkHandler não definir

Alterações em outros itens

A seguinte tabela mostra como mapear outros itens em projetos do Xamarin Apple para projetos do .NET:

Item Descrição .NET Conversão de projeto
LinkDescription Arquivos XML adicionais para o vinculador gerenciado. Idêntico Copiar

Alterações em Info.plist

Alguns valores foram movidos de Info.plist para o arquivo de projeto.

MinimumOSVersion e LSMinimumSystemVersion

As propriedades MinimumOSVersion e LSMinimumSystemVersion devem ser convertidas na propriedade SupportedOSPlatformVersion em projetos do .NET 8. Para obter mais informações, consulte Garantir que MinimumOSVersion seja consistente com SupportedOSPlatformVersion.

Confira também