以下是在 Xamarin.Mac 中开发扩展时可能发生的限制和已知问题:
Visual Studio for Mac目前没有调试支持。 所有调试都需要通过
NSLog
和
控制台
完成。 有关详细信息,请参阅下面的提示部分。
扩展必须包含在主机应用程序中,在系统注册一次时运行扩展。 然后,必须在
系统首选项
的
“扩展
”部分中启用它们。
某些扩展崩溃可能会破坏主机应用程序的稳定,并导致奇怪的行为。 特别是,通知
中心的
Finder
和
Today
部分可能会变得“堵塞”,并且变得无响应。 Xcode 中的扩展项目也经历了这种情况,目前似乎与 Xamarin.Mac 无关。 通常可以通过
控制台
在系统日志 (中看到此情况,请参阅使用技巧,详细了解) 打印重复的错误消息。 重启 macOS 似乎修复了此问题。
在 Xamarin.Mac 中使用扩展时,以下提示非常有用:
由于 Xamarin.Mac 目前不支持调试扩展,因此调试体验主要取决于执行和
printf
类似语句。 但是,扩展在沙盒进程中运行,因此
Console.WriteLine
不会像在其他 Xamarin.Mac 应用程序中那样运行。 直接调用
NSLog
会将调试消息输出到系统日志。
任何未捕获的异常都会使扩展进程崩溃,在
系统日志
中只提供少量有用信息。 将麻烦的代码包装在 (异常) 块
NSLog
中
try/catch
可能很有用。
可以从
ApplicationsUtilities
> 下的
控制台
应用访问
系统日志
:
如上所述,运行扩展主机应用程序会将它注册到系统。 删除应用程序捆绑包并取消注册它。
如果注册应用的扩展的“杂乱”版本,请使用以下命令 (找到它们,以便) 删除它们:
plugin kit -mv
演练和示例应用
由于开发人员将以与 Xamarin.iOS 扩展相同的方式创建和使用 Xamarin.Mac 扩展,请参阅我们的
扩展简介
文档了解更多详细信息。
可
在此处
找到包含每个扩展类型的小型工作示例的示例 Xamarin.Mac 项目。
本文已快速了解如何在 Xamarin.Mac 版本 2.10 (及更高版本的) 应用中使用扩展。
了解 Mac
ExtensionSamples
macOS 人机界面指南