Migración de proyectos de Xamarin Apple
Un proyecto de .NET 8 para una aplicación de .NET para iOS es similar al ejemplo siguiente:
<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 un proyecto de biblioteca, omite la propiedad $(OutputType)
por completo o especifica Library
como valor de propiedad.
Cambios en las propiedades de MSBuild
En la tabla siguiente se muestra cómo asignar propiedades en proyectos de Xamarin Apple a proyectos de .NET:
Propiedad | Descripción | .NET | Conversión de proyectos |
---|---|---|---|
MtouchExtraArgs |
Argumentos adicionales para mtouch. | Algunos argumentos siguen siendo aplicables, algunos argumentos no. | Copiar |
MtouchArch |
Arquitectura(s) de la aplicación | N/D | Convertir en RuntimeIdentifier . Para obtener más información, consulta Conversión a RuntimeIdentifier. |
XamMacArch |
Arquitectura(s) de la aplicación | N/D | Convertir en RuntimeIdentifier . Para obtener más información, consulta Conversión a RuntimeIdentifier. |
HttpClientHandler |
El valor predeterminado HttpClientHandler .. |
UseNativeHttpHandler |
Convertir en UseNativeHttpHandler . Para obtener más información, consultaConversión a UseNativeHttpHandler. |
MtouchHttpClientHandler |
El valor predeterminado MtouchHttpClientHandler. |
UseNativeHttpHandler |
Convertir en UseNativeHttpHandler . Para obtener más información, consultaConversión a UseNativeHttpHandler. |
EnableCodeSigning |
Especifica si la firma de código está habilitada. | Copiar | |
CodeSigningKey |
Especifica la clave de firma de código. | Cambia el nombre a CodesignKey | |
CodesignKey |
Especifica la clave de firma de código. | Copiar | |
CodesignProvision |
Especifica el perfil de aprovisionamiento. | Copiar | |
CodesignEntitlements |
La ruta de acceso al archivo de derechos. | Copiar | |
CodesignExtraArgs |
Argumentos de firma de código adicionales. | Copiar | |
PackageSigningKey |
Especifica la clave de firma de código para firmar el paquete. | Copiar | |
PackagingExtraArgs |
Especifica los argumentos adicionales para la herramienta de empaquetado. | Copiar | |
ProductDefinition |
La ruta de acceso al archivo de definición de producto que se va a usar al realizar el empaquetado. | Copiar | |
MtouchEnableSGenConc |
Cambia el nombre del objeto a EnableSGenConc . |
||
EnableSGenConc |
Copiar |
Conversión a RuntimeIdentifier
En la tabla siguiente se muestra cómo convertir las propiedades MtouchArch
y XamMacArch
en la propiedad RuntimeIdentifier
, o la propiedad RuntimeIdentifiers
, al migrar un proyecto de Xamarin.iOS a .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
Si tienes varios identificadores en tiempo de ejecución, usa la propiedad RuntimeIdentifiers
en lugar de la propiedad RuntimeIdentifier
.
En la tabla siguiente se muestra cómo convertir las propiedades MtouchArch
y XamMacArch
en la propiedad RuntimeIdentifier
al migrar un proyecto de Xamarin.iOS a .NET para iOS:
Propiedad | RuntimeIdentifier |
---|---|
x86_64 | osx-x64 |
En la tabla siguiente se muestra cómo convertir las propiedades MtouchArch
y XamMacArch
en la propiedad RuntimeIdentifier
al migrar un proyecto de Xamarin.tvOS a .NET para tvOS:
Propiedad | RuntimeIdentifier |
---|---|
ARM64 | tvos-arm64 |
x86_64 | tvossimulator-x64 |
Para obtener más información sobre la propiedad RuntimeIdentifier
, consulta RuntimeIdentifier. Para obtener más información sobre los identificadores en tiempo de ejecución (RID), consulta el Catálogo de identificadores de entorno de ejecución (RID) de .NET.
Conversión a UseNativeHttpHandler
En la tabla siguiente se muestra cómo convertir las propiedades HttpClientHandler
y MtouchHttpClientHandler
en la propiedad UseNativeHttpHandler
al migrar un proyecto de Apple de Xamarin a .NET 8:
Valor | UseNativeHttpHandler |
---|---|
HttpClientHandler | false |
NSUrlSessionHandler | no establecer |
CFNetworkHandler | no establecer |
Cambios en otros elementos
En la tabla siguiente se muestra cómo asignar otros elementos en proyectos de Apple de Xamarin a proyectos de .NET:
Elemento | Descripción | .NET | Conversión de proyectos |
---|---|---|---|
LinkDescription |
Archivos XML adicionales al enlazador administrado. | Idénticos | Copiar |
Cambios en Info.plist
Algunos valores se han movido de Info.plist al archivo del proyecto.
MinimumOSVersion y LSMinimumSystemVersion
Las propiedades MinimumOSVersion
y LSMinimumSystemVersion
se deben convertir en la propiedad SupportedOSPlatformVersion
en proyectos de .NET 8. Para obtener más información, consulta Asegurarse de que MinimumOSVersion es coherente con SupportedOSPlatformVersion.