Bagikan melalui


Migrasi proyek Xamarin Apple

Proyek .NET 8 untuk aplikasi .NET untuk iOS mirip dengan contoh berikut:

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

Untuk proyek pustaka, hilangkan $(OutputType) properti sepenuhnya atau tentukan Library sebagai nilai properti.

Perubahan pada properti MSBuild

Tabel berikut menunjukkan cara memetakan properti di proyek Xamarin Apple ke proyek .NET:

Properti Deskripsi .NET Konversi proyek
MtouchExtraArgs Argumen tambahan untuk mtouch. Beberapa argumen masih berlaku, beberapa argumen tidak. Menyalin
MtouchArch Arsitektur aplikasi. T/A Mengonversikan ke RuntimeIdentifier. Untuk informasi selengkapnya, lihat Mengonversi ke RuntimeIdentifier.
XamMacArch Arsitektur aplikasi. T/A Mengonversikan ke RuntimeIdentifier. Untuk informasi selengkapnya, lihat Mengonversi ke RuntimeIdentifier.
HttpClientHandler HttpClientHandlerDefault . UseNativeHttpHandler Mengonversikan ke UseNativeHttpHandler. Untuk informasi selengkapnya, lihat Mengonversi ke UseNativeHttpHandler.
MtouchHttpClientHandler Default MtouchHttpClientHandler. UseNativeHttpHandler Mengonversikan ke UseNativeHttpHandler. Untuk informasi selengkapnya, lihat Mengonversi ke UseNativeHttpHandler.
EnableCodeSigning Menentukan apakah penandatanganan kode diaktifkan. Menyalin
CodeSigningKey Menentukan kunci penandatanganan kode. Ganti nama menjadi CodesignKey
CodesignKey Menentukan kunci penandatanganan kode. Menyalin
CodesignProvision Menentukan profil provisi. Menyalin
CodesignEntitlements Jalur ke file pemberian izin. Menyalin
CodesignExtraArgs Argumen penandatanganan kode tambahan. Menyalin
PackageSigningKey Menentukan kunci penandatanganan kode untuk menandatangani paket. Menyalin
PackagingExtraArgs Menentukan argumen tambahan ke alat pengemasan. Menyalin
ProductDefinition Jalur ke file definisi produk yang akan digunakan saat pengemasan. Menyalin
MtouchEnableSGenConc Ganti nama menjadi EnableSGenConc.
EnableSGenConc Menyalin

Konversi ke RuntimeIdentifier

Tabel berikut menunjukkan cara mengonversi MtouchArch properti dan XamMacArch ke RuntimeIdentifier properti , atau RuntimeIdentifiers properti , saat memigrasikan proyek Xamarin.iOS ke .NET untuk iOS:

Nilai 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

Penting

Jika Anda memiliki beberapa pengidentifikasi runtime, gunakan RuntimeIdentifiers properti daripada RuntimeIdentifier properti .

Tabel berikut ini memperlihatkan cara mengonversi MtouchArch properti dan XamMacArch ke RuntimeIdentifier properti saat memigrasikan proyek Xamarin.Mac ke .NET untuk macOS+:

Properti RuntimeIdentifier
x86_64 osx-x64

Tabel berikut menunjukkan cara mengonversi MtouchArch properti dan XamMacArch ke RuntimeIdentifier properti saat memigrasikan proyek Xamarin.tvOS ke .NET untuk tvOS:

Properti RuntimeIdentifier
ARM64 tvos-arm64
x86_64 tvossimulator-x64

Untuk informasi selengkapnya tentang RuntimeIdentifier properti, lihat RuntimeIdentifier. Untuk informasi selengkapnya tentang pengidentifikasi runtime, lihat Katalog .NET RID.

Konversi ke UseNativeHttpHandler

Tabel berikut menunjukkan cara mengonversi HttpClientHandler properti dan MtouchHttpClientHandler ke UseNativeHttpHandler properti saat memigrasikan proyek Xamarin Apple ke .NET 8:

Nilai UseNativeHttpHandler
HttpClientHandler salah
NSUrlSessionHandler jangan atur
CFNetworkHandler jangan atur

Perubahan pada item lain

Tabel berikut menunjukkan cara memetakan item lain di proyek Xamarin Apple ke proyek .NET:

Item Deskripsi .NET Konversi proyek
LinkDescription File XML tambahan ke linker terkelola. Identik Menyalin

Perubahan pada Info.plist

Beberapa nilai telah dipindahkan dari Info.plist ke file proyek.

MinimumOSVersion dan LSMinimumSystemVersion

Properti MinimumOSVersion dan LSMinimumSystemVersion harus dikonversi ke SupportedOSPlatformVersion properti dalam proyek .NET 8. Untuk informasi selengkapnya, lihat Memastikan MinimumOSVersion konsisten dengan SupportedOSPlatformVersion.

Lihat juga