Миграция проекта Xamarin Apple
Проект .NET 8 для приложения .NET для iOS аналогичен следующему примеру:
<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>
Для проекта библиотеки опустите $(OutputType)
свойство полностью или укажите Library
в качестве значения свойства.
Изменения свойств MSBuild
В следующей таблице показано, как сопоставить свойства в проектах Xamarin Apple с проектами .NET:
Свойство | Description | .NET | Преобразование проекта |
---|---|---|---|
MtouchExtraArgs |
Дополнительные аргументы для mtouch. | Некоторые аргументы по-прежнему применимы, некоторые аргументы не являются. | Копия |
MtouchArch |
Архитектура приложений. | Н/П | Преобразование в RuntimeIdentifier . Дополнительные сведения см. в разделе "Преобразование в RuntimeIdentifier". |
XamMacArch |
Архитектура приложений. | Н/П | Преобразование в RuntimeIdentifier . Дополнительные сведения см. в разделе "Преобразование в RuntimeIdentifier". |
HttpClientHandler |
Значение по умолчанию HttpClientHandler . |
UseNativeHttpHandler |
Преобразование в UseNativeHttpHandler . Дополнительные сведения см. в разделе "Преобразование в UseNativeHttpHandler". |
MtouchHttpClientHandler |
Значение по умолчанию MtouchHttpClientHandler. |
UseNativeHttpHandler |
Преобразование в UseNativeHttpHandler . Дополнительные сведения см. в разделе "Преобразование в UseNativeHttpHandler". |
EnableCodeSigning |
Указывает, включена ли подпись кода. | Копия | |
CodeSigningKey |
Указывает ключ подписывания кода. | Переименование в CodesignKey | |
CodesignKey |
Указывает ключ подписывания кода. | Копия | |
CodesignProvision |
Указывает профиль подготовки. | Копия | |
CodesignEntitlements |
Путь к файлу прав. | Копия | |
CodesignExtraArgs |
Дополнительные аргументы подписывания кода. | Копия | |
PackageSigningKey |
Указывает ключ подписи кода для подписывания пакета. | Копия | |
PackagingExtraArgs |
Указывает дополнительные аргументы средства упаковки. | Копия | |
ProductDefinition |
Путь к файлу определения продукта, используемому при упаковке. | Копия | |
MtouchEnableSGenConc |
Переименование EnableSGenConc в . |
||
EnableSGenConc |
Копия |
Преобразование в RuntimeIdentifier
В следующей таблице показано, как преобразовать MtouchArch
свойства RuntimeIdentifier
в XamMacArch
свойство или RuntimeIdentifiers
свойство при переносе проекта Xamarin.iOS в .NET для iOS:
Значение | 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 |
Внимание
Если у вас несколько идентификаторов среды выполнения, используйте RuntimeIdentifiers
свойство, а не RuntimeIdentifier
свойство.
В следующей таблице показано, как преобразовать MtouchArch
свойства в XamMacArch
RuntimeIdentifier
свойство при переносе проекта Xamarin.Mac в .NET для macOS+:
Свойство | RuntimeIdentifier |
---|---|
x86_64 | osx-x64 |
В следующей таблице показано, как преобразовать MtouchArch
свойства в XamMacArch
RuntimeIdentifier
свойство при переносе проекта Xamarin.tvOS в .NET для tvOS:
Свойство | RuntimeIdentifier |
---|---|
ARM64 | tvos-arm64 |
x86_64 | tvossimulator-x64 |
Дополнительные сведения о свойстве см. в RuntimeIdentifier
разделе RuntimeIdentifier. Дополнительные сведения об идентификаторах среды выполнения см . в каталоге .NET RID.
Преобразование в UseNativeHttpHandler
В следующей таблице показано, как преобразовать HttpClientHandler
свойства в MtouchHttpClientHandler
UseNativeHttpHandler
свойство при переносе проекта Xamarin Apple в .NET 8:
Значение | UseNativeHttpHandler |
---|---|
HttpClientHandler | false |
NSUrlSessionHandler | Не устанавливайте |
CFNetworkHandler | Не устанавливайте |
Изменения в других элементах
В следующей таблице показано, как сопоставить другие элементы в проектах Xamarin Apple с проектами .NET:
Позиция | Description | .NET | Преобразование проекта |
---|---|---|---|
LinkDescription |
Дополнительные XML-файлы управляемого компоновщика. | Идентичные | Копия |
Изменения в Info.plist
Некоторые значения перемещены из Info.plist в файл проекта.
MinimumOSVersion и LSMinimumSystemVersion
LSMinimumSystemVersion
Свойства MinimumOSVersion
должны быть преобразованы SupportedOSPlatformVersion
в свойство в проектах .NET 8. Дополнительные сведения см. в разделе "Обеспечение соответствия minimumOSVersion" с поддержкой SupportedOSPlatformVersion.