Ошибка MAUI: атрибут сохранения (или сильный) в свойстве «окно» не соответствует свойству, унаследованному от UIApplicatC#

Место общения программистов C#
Ответить
Anonymous
 Ошибка MAUI: атрибут сохранения (или сильный) в свойстве «окно» не соответствует свойству, унаследованному от UIApplicat

Сообщение Anonymous »

У меня есть приложение dotnet 8 MAUI IOS, которое я пытаюсь создать и запустить на физическом устройстве IOS, подключенном к моему Mac через USB. Когда я запускаю отладчик, я получаю следующую ошибку:

Код: Выделить всё

/usr/local/share/dotnet/packs/Microsoft.iOS.Sdk.net8.0_18.0/18.0.8303/targets/Xamarin.Shared.Sdk.targets(1455,3): error : clang exited with code 1: [/Users/user/Projects/cds-tims-mobile-client/TIMS.csproj]
/usr/local/share/dotnet/packs/Microsoft.iOS.Sdk.net8.0_18.0/18.0.8303/targets/Xamarin.Shared.Sdk.targets(1455,3): error : In file included from /Users/user/Projects/cds-tims-mobile-client/obj/Debug/net8.0-ios/ios-arm64/linker-cache/registrar.mm:3: [/Users/user/Projects/cds-tims-mobile-client/TIMS.csproj]
/usr/local/share/dotnet/packs/Microsoft.iOS.Sdk.net8.0_18.0/18.0.8303/targets/Xamarin.Shared.Sdk.targets(1455,3): error : /Users/user/Projects/cds-tims-mobile-client/obj/Debug/net8.0-ios/ios-arm64/linker-cache/registrar.h:257:43: warning: 'retain (or strong)' attribute on property 'window' does not match the property inherited from 'UIApplicationDelegate' [-Wproperty-attribute-mismatch] [/Users/user/Projects/cds-tims-mobile-client/TIMS.csproj]
/usr/local/share/dotnet/packs/Microsoft.iOS.Sdk.net8.0_18.0/18.0.8303/targets/Xamarin.Shared.Sdk.targets(1455,3): error :   257 |         @property (nonatomic, assign) UIWindow * window; [/Users/user/Projects/cds-tims-mobile-client/TIMS.csproj]
/usr/local/share/dotnet/packs/Microsoft.iOS.Sdk.net8.0_18.0/18.0.8303/targets/Xamarin.Shared.Sdk.targets(1455,3): error :       |                                                  ^ [/Users/user/Projects/cds-tims-mobile-client/TIMS.csproj]
/usr/local/share/dotnet/packs/Microsoft.iOS.Sdk.net8.0_18.0/18.0.8303/targets/Xamarin.Shared.Sdk.targets(1455,3): error : /Users/user/Projects/cds-tims-mobile-client/obj/Debug/net8.0-ios/ios-arm64/linker-cache/registrar.h:289:43: warning: 'retain (or strong)' attribute on property 'window' does not match the property inherited from 'UIApplicationDelegate' [-Wproperty-attribute-mismatch] [/Users/user/Projects/cds-tims-mobile-client/TIMS.csproj]
/usr/local/share/dotnet/packs/Microsoft.iOS.Sdk.net8.0_18.0/18.0.8303/targets/Xamarin.Shared.Sdk.targets(1455,3): error :   289 |         @property (nonatomic, assign) UIWindow * window; [/Users/user/Projects/cds-tims-mobile-client/TIMS.csproj]
/usr/local/share/dotnet/packs/Microsoft.iOS.Sdk.net8.0_18.0/18.0.8303/targets/Xamarin.Shared.Sdk.targets(1455,3): error :       |                                                  ^ [/Users/user/Projects/cds-tims-mobile-client/TIMS.csproj]
/usr/local/share/dotnet/packs/Microsoft.iOS.Sdk.net8.0_18.0/18.0.8303/targets/Xamarin.Shared.Sdk.targets(1455,3): error : /Users/user/Projects/cds-tims-mobile-client/obj/Debug/net8.0-ios/ios-arm64/linker-cache/regist [/Users/user/Projects/cds-tims-mobile-client/TIMS.csproj]
9 Warning(s)
1 Error(s)
Я думаю, что здесь важно

Код: Выделить всё

warning: 'retain (or strong)' attribute on property 'window' does not match the property inherited from 'UIApplicationDelegate' [-Wproperty-attribute-mismatch] [/Users/user/Projects/cds-tims-mobile-client/TIMS.csproj]
Я немного погуглил и попробовал кое-что. Я изменил файл AppDelegate:

Код: Выделить всё

using Foundation;
using UIKit; // Add this to resolve UIWindow

namespace TIMS;

[Register("AppDelegate")]
public class AppDelegate : MauiUIApplicationDelegate
{
[Export("window")]
public override UIWindow? Window { get; set; }

protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp();
}

Добавление этой части:

Код: Выделить всё

[Export("window")]
public override UIWindow? Window { get; set; }
Это ничего не изменило. Кто-то на Github также рекомендовал установить для MtouchLink в файле csproj значение sdkOnly:

Код: Выделить всё

SdkOnly
Но и это не помогло. Мой друг предположил, что он однажды столкнулся с этим и ему пришлось переключиться на другой унаследованный класс, но он не уверен, какой из них и является ли это фактическим решением. Если у кого-то есть какие-либо сведения по этому поводу, это будет очень полезно. Любая помощь очень ценится.

Подробнее здесь: https://stackoverflow.com/questions/790 ... -match-pro
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»