Xamarin Apple projesi geçişi

iOS için .NET uygulamasına yönelik bir .NET 8 projesi aşağıdaki örneğe benzer:

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

Kitaplık projesi için özelliği tamamen atlar $(OutputType) veya özellik değeri olarak belirtin Library .

MSBuild özelliklerindeki değişiklikler

Aşağıdaki tabloda, Xamarin Apple projelerindeki özellikleri .NET projelerine eşleme gösterilmektedir:

Özellik Açıklama .NET Proje dönüştürme
MtouchExtraArgs Mtouch için ek bağımsız değişkenler. Bazı bağımsız değişkenler hala geçerlidir, bazı bağımsız değişkenler geçerli değildir. Kopyala
MtouchArch Uygulama mimarileri. Yok öğesine RuntimeIdentifierdönüştürün. Daha fazla bilgi için bkz . RuntimeIdentifier'a Dönüştürme.
XamMacArch Uygulama mimarileri. Yok öğesine RuntimeIdentifierdönüştürün. Daha fazla bilgi için bkz . RuntimeIdentifier'a Dönüştürme.
HttpClientHandler Varsayılan HttpClientHandlerdeğeridir. UseNativeHttpHandler öğesine UseNativeHttpHandlerdönüştürün. Daha fazla bilgi için bkz . UseNativeHttpHandler'a Dönüştürme.
MtouchHttpClientHandler Varsayılan MtouchHttpClientHandler. UseNativeHttpHandler öğesine UseNativeHttpHandlerdönüştürün. Daha fazla bilgi için bkz . UseNativeHttpHandler'a Dönüştürme.
EnableCodeSigning Kod imzalamanın etkinleştirilip etkinleştirilmediğini belirtir. Kopyala
CodeSigningKey Kod imzalama anahtarını belirtir. CodesignKey olarak yeniden adlandır
CodesignKey Kod imzalama anahtarını belirtir. Kopyala
CodesignProvision Sağlama profilini belirtir. Kopyala
CodesignEntitlements Yetkilendirmeler dosyasının yolu. Kopyala
CodesignExtraArgs Ek kod imzalama bağımsız değişkenleri. Kopyala
PackageSigningKey Paketi imzalamak için kod imzalama anahtarını belirtir. Kopyala
PackagingExtraArgs Paketleme aracının ek bağımsız değişkenlerini belirtir. Kopyala
ProductDefinition Paketleme sırasında kullanılacak ürün tanımı dosyasının yolu. Kopyala
MtouchEnableSGenConc olarak EnableSGenConcyeniden adlandırın.
EnableSGenConc Kopyala

RuntimeIdentifier'a dönüştürme

Aşağıdaki tabloda, bir Xamarin.iOS projesi iOS için .NET'e RuntimeIdentifier geçirildiğinde ve XamMacArch özelliklerinin özelliğine veya RuntimeIdentifiers özelliğine nasıl dönüştürüldüğü MtouchArch gösterilmektedir:

Değer 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

Önemli

Birden çok çalışma zamanı tanımlayıcınız varsa özelliği yerine RuntimeIdentifier özelliğini kullanınRuntimeIdentifiers.

Aşağıdaki tabloda, bir Xamarin.Mac projesi macOS+ için .NET'e RuntimeIdentifier geçirildiğinde ve XamMacArch özelliklerinin özelliğine nasıl dönüştürüldüğü MtouchArch gösterilmektedir:

Özellik RuntimeIdentifier
x86_64 osx-x64

Aşağıdaki tabloda, bir Xamarin.tvOS projesi tvOS için .NET'e RuntimeIdentifier geçirildiğinde ve XamMacArch özelliklerinin özelliğine nasıl dönüştürüldüğü MtouchArch gösterilmektedir:

Özellik RuntimeIdentifier
ARM64 tvos-arm64
x86_64 tvossimulator-x64

özelliği hakkında RuntimeIdentifier daha fazla bilgi için bkz . RuntimeIdentifier. Çalışma zamanı tanımlayıcıları hakkında daha fazla bilgi için bkz . .NET RID Kataloğu.

UseNativeHttpHandler'a Dönüştür

Aşağıdaki tabloda, bir Xamarin Apple projesi .NET 8'e UseNativeHttpHandler geçirildiğinde ve MtouchHttpClientHandler özelliklerinin özelliğine nasıl dönüştürüldüğü HttpClientHandler gösterilmektedir:

Değer UseNativeHttpHandler
HttpClientHandler yanlış
NSUrlSessionHandler ayarlanmadı
CFNetworkHandler ayarlanmadı

Diğer öğelerde yapılan değişiklikler

Aşağıdaki tabloda, Xamarin Apple projelerindeki diğer öğelerin .NET projelerine nasıl eşleği gösterilmektedir:

Öğe Açıklama .NET Proje dönüştürme
LinkDescription Yönetilen bağlayıcıya ek XML dosyaları. Aynı Kopyala

Info.plist dosyasındaki değişiklikler

Bazı değerler Info.plist dosyasından proje dosyasına taşındı.

MinimumOSVersion ve LSMinimumSystemVersion

MinimumOSVersion ve LSMinimumSystemVersion özellikleri .NET 8 projelerinde özelliğine SupportedOSPlatformVersion dönüştürülmelidir. Daha fazla bilgi için bkz . MinimumOSVersion'ın SupportedOSPlatformVersion ile tutarlı olduğundan emin olun.

Ayrıca bkz.