Udostępnij za pośrednictwem


Migracja projektu platformy Xamarin firmy Apple

Projekt platformy .NET 8 dla aplikacji platformy .NET dla systemu iOS jest podobny do następującego przykładu:

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

W przypadku projektu biblioteki pomiń $(OutputType) właściwość całkowicie lub określ Library jako wartość właściwości.

Zmiany właściwości programu MSBuild

W poniższej tabeli przedstawiono sposób mapowania właściwości w projektach Xamarin firmy Apple na projekty platformy .NET:

Właściwości opis .NET Konwersja projektu
MtouchExtraArgs Dodatkowe argumenty do mtouch. Niektóre argumenty są nadal stosowane, niektóre argumenty nie są. Kopiuj
MtouchArch Architektury aplikacji. Nie dotyczy Przekonwertuj na RuntimeIdentifier. Aby uzyskać więcej informacji, zobacz Konwertowanie na runtimeIdentifier.
XamMacArch Architektury aplikacji. Nie dotyczy Przekonwertuj na RuntimeIdentifier. Aby uzyskać więcej informacji, zobacz Konwertowanie na runtimeIdentifier.
HttpClientHandler Wartość domyślna HttpClientHandler. UseNativeHttpHandler Przekonwertuj na UseNativeHttpHandler. Aby uzyskać więcej informacji, zobacz Konwertowanie na UseNativeHttpHandler.
MtouchHttpClientHandler Wartość domyślna MtouchHttpClientHandler. UseNativeHttpHandler Przekonwertuj na UseNativeHttpHandler. Aby uzyskać więcej informacji, zobacz Konwertowanie na UseNativeHttpHandler.
EnableCodeSigning Określa, czy podpisywanie kodu jest włączone. Kopiuj
CodeSigningKey Określa klucz podpisywania kodu. Zmień nazwę na CodesignKey
CodesignKey Określa klucz podpisywania kodu. Kopiuj
CodesignProvision Określa profil aprowizacji. Kopiuj
CodesignEntitlements Ścieżka do pliku uprawnień. Kopiuj
CodesignExtraArgs Dodatkowe argumenty podpisywania kodu. Kopiuj
PackageSigningKey Określa klucz podpisywania kodu w celu podpisania pakietu. Kopiuj
PackagingExtraArgs Określa dodatkowe argumenty narzędzia do tworzenia pakietów. Kopiuj
ProductDefinition Ścieżka do pliku definicji produktu do użycia podczas tworzenia pakietów. Kopiuj
MtouchEnableSGenConc Zmień nazwę na EnableSGenConc.
EnableSGenConc Kopiuj

Konwertowanie na runtimeIdentifier

W poniższej tabeli przedstawiono sposób konwertowania MtouchArch właściwości i XamMacArch na RuntimeIdentifier właściwość lub RuntimeIdentifiers właściwości podczas migrowania projektu platformy Xamarin.iOS do platformy .NET dla systemu iOS:

Wartość 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

Ważne

Jeśli masz wiele identyfikatorów środowiska uruchomieniowego, użyj RuntimeIdentifiers właściwości zamiast RuntimeIdentifier właściwości .

W poniższej tabeli przedstawiono sposób konwertowania MtouchArch właściwości i XamMacArch na RuntimeIdentifier właściwość podczas migrowania projektu platformy Xamarin.Mac do platformy .NET dla systemu macOS+:

Właściwości RuntimeIdentifier
x86_64 osx-x64

W poniższej tabeli przedstawiono sposób konwertowania MtouchArch właściwości i XamMacArch na RuntimeIdentifier właściwość podczas migrowania projektu platformy Xamarin.tvOS do platformy .NET dla systemu tvOS:

Właściwości RuntimeIdentifier
ARM64 tvos-arm64
x86_64 tvossimulator-x64

Aby uzyskać więcej informacji na temat RuntimeIdentifier właściwości, zobacz RuntimeIdentifier. Aby uzyskać więcej informacji na temat identyfikatorów środowiska uruchomieniowego, zobacz Wykaz identyfikatorów RID platformy .NET.

Konwertowanie na useNativeHttpHandler

W poniższej tabeli przedstawiono sposób konwertowania HttpClientHandler właściwości i MtouchHttpClientHandler na UseNativeHttpHandler właściwość podczas migrowania projektu Xamarin Apple do platformy .NET 8:

Wartość UseNativeHttpHandler
HttpClientHandler fałsz
NSUrlSessionHandler nie ustawiaj
CFNetworkHandler nie ustawiaj

Zmiany w innych elementach

W poniższej tabeli przedstawiono sposób mapowania innych elementów w projektach Xamarin firmy Apple na projekty platformy .NET:

Element opis .NET Konwersja projektu
LinkDescription Dodatkowe pliki XML zarządzanego konsolidatora. Identyczne Kopiuj

Zmiany w pliku Info.plist

Niektóre wartości zostały przeniesione z pliku Info.plist do pliku projektu.

MinimumOSVersion i LSMinimumSystemVersion

Właściwości MinimumOSVersion i LSMinimumSystemVersion należy przekonwertować na SupportedOSPlatformVersion właściwość w projektach platformy .NET 8. Aby uzyskać więcej informacji, zobacz Upewnij się, że parametr MinimumOSVersion jest zgodny z elementem SupportedOSPlatformVersion.

Zobacz też