Sdílet prostřednictvím


Migrace projektu Xamarin Apple

Projekt .NET 8 pro aplikaci .NET pro iOS je podobný následujícímu příkladu:

<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>

Pro projekt $(OutputType) knihovny vynecháte vlastnost zcela nebo zadejte Library jako hodnotu vlastnosti.

Změny vlastností nástroje MSBuild

Následující tabulka ukazuje, jak mapovat vlastnosti v projektech Xamarin Apple na projekty .NET:

Vlastnost Popis .NET Převod projektu
MtouchExtraArgs Další argumenty pro mtouch. Některé argumenty jsou stále použitelné, některé argumenty nejsou. Kopírovat
MtouchArch Architektury aplikací Převést na RuntimeIdentifier. Další informace naleznete v tématu Převod na RuntimeIdentifier.
XamMacArch Architektury aplikací Převést na RuntimeIdentifier. Další informace naleznete v tématu Převod na RuntimeIdentifier.
HttpClientHandler Výchozí HttpClientHandlerhodnota . UseNativeHttpHandler Převést na UseNativeHttpHandler. Další informace naleznete v tématu Převod na UseNativeHttpHandler.
MtouchHttpClientHandler Výchozí hodnota MtouchHttpClientHandler. UseNativeHttpHandler Převést na UseNativeHttpHandler. Další informace naleznete v tématu Převod na UseNativeHttpHandler.
EnableCodeSigning Určuje, jestli je povolené podepisování kódu. Kopírovat
CodeSigningKey Určuje podpisový klíč kódu. Přejmenování na CodesignKey
CodesignKey Určuje podpisový klíč kódu. Kopírovat
CodesignProvision Určuje profil zřizování. Kopírovat
CodesignEntitlements Cesta k souboru nároků. Kopírovat
CodesignExtraArgs Nadbytečné podpisové argumenty kódu Kopírovat
PackageSigningKey Určuje podpisový klíč kódu pro podepsání balíčku. Kopírovat
PackagingExtraArgs Určuje další argumenty nástroje pro balení. Kopírovat
ProductDefinition Cesta k definičnímu souboru produktu, který se má použít při balení. Kopírovat
MtouchEnableSGenConc Přejmenujte na EnableSGenConc.
EnableSGenConc Kopírovat

Převést na RuntimeIdentifier

Následující tabulka ukazuje, jak při migraci projektu Xamarin.iOS na .NET pro iOS převést MtouchArch vlastnosti a XamMacArch vlastnosti na RuntimeIdentifier vlastnost RuntimeIdentifiers :

Hodnota 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

Důležité

Pokud máte více identifikátorů modulu runtime, použijte RuntimeIdentifiers místo vlastnosti vlastnost RuntimeIdentifier .

Následující tabulka ukazuje, jak při migraci projektu Xamarin.Mac na RuntimeIdentifier .NET pro macOS+převést MtouchArch vlastnosti na XamMacArch vlastnost:

Vlastnost RuntimeIdentifier
x86_64 osx-x64

Následující tabulka ukazuje, jak při migraci projektu Xamarin.tvOS na RuntimeIdentifier .NET pro tvOS převést MtouchArch vlastnosti na XamMacArch vlastnost:

Vlastnost RuntimeIdentifier
ARM64 tvos-arm64
x86_64 tvossimulator-x64

Další informace o RuntimeIdentifier vlastnosti naleznete v tématu RuntimeIdentifier. Další informace o identifikátorech modulu runtime naleznete v tématu Katalog identifikátorů RID technologie .NET.

Převod na UseNativeHttpHandler

Následující tabulka ukazuje, jak při migraci projektu Xamarin Apple na UseNativeHttpHandler .NET 8 převést HttpClientHandler vlastnosti na MtouchHttpClientHandler vlastnost:

Hodnota UseNativeHttpHandler
HttpClientHandler false (nepravda)
NSUrlSessionHandler nenastavujte
CFNetworkHandler nenastavujte

Změny v jiných položkách

Následující tabulka ukazuje, jak mapovat další položky v projektech Xamarin Apple na projekty .NET:

Položka Popis .NET Převod projektu
LinkDescription Další soubory XML ke spravovanému linkeru. Identické Kopírovat

Změny souboru Info.plist

Některé hodnoty se přesunuly z souboru Info.plist do souboru projektu.

MinimumOSVersion a LSMinimumSystemVersion

Vlastnosti MinimumOSVersion a LSMinimumSystemVersion vlastnosti by měly být převedeny na SupportedOSPlatformVersion vlastnost v projektech .NET 8. Další informace naleznete v tématu Zajištění, že MinimumOSVersion je konzistentní s SupportedOSPlatformVersion.

Viz také