gpt4 book ai didi

objective-c - MonoMac - 我怎样才能执行苹果脚本

转载 作者:搜寻专家 更新时间:2023-10-30 20:04:07 25 4
gpt4 key购买 nike

我正在尝试使用 MonoMac 创建一个简单的应用程序,并且需要执行苹果脚本来访问来自不同媒体播放器的播放列表信息(参见我的 previous question)。

我决定尝试一下 MonoMac,因为我非常熟悉 C# 和 .net 开发,并且有一个很好的 Websocket 实现。

不幸的是,似乎没有适用于 NSAppleScript 的包装器。我试过 Frederic Forjans implementation并尝试使用 monobjc .

当我使用他的代码时,Frederics 包装器类甚至无法编译,我得到以下异常:

Unhandled Exception: System.IO.FileNotFoundException: Could not load file or assembly 'MonoMac, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies.File name: 'MonoMac, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'

当创建一个新的 NSString 实例时。但是,位于同一程序集中的 new NSDictionary(); 工作正常。

使用 monobjc 时出现以下错误:

Unhandled Exception: System.TypeInitializationException: An exception was thrown by the type initializer for Monobjc.ObjectiveCRuntime ---> System.EntryPointNotFoundException: monobjc_install_bridge  at (wrapper managed-to-native) Monobjc.NativeMethods:InstallBridge ()  at Monobjc.ObjectiveCRuntime..cctor () [0x00000] in :0   --- End of inner exception stack trace ---  at CocoaApplication1.Program.Main () [0x00000] in :0 

谁能建议一种在单声道环境中执行苹果脚本的简单有效的方法?

最佳答案

如果不使用 Monobjc 运行时二进制文件运行它们,则不能直接使用 Monobjc 程序集。无论您想构建基于 Cocoa 的应用程序还是控制台应用程序,there are tutorials在 Monobjc 的网站上可以帮助您入门。

实现应用程序间通信的最简单方法是使用 ScriptingBridge 框架。许多应用程序提供脚本定义,然后可以以面向对象的方式使用这些定义:take a look at this guide了解更多详情。

请注意,脚本桥仅适用于启用脚本的应用程序(如 iTunes、iCal、iMovie、Finder 等)。

Monobjc支持ScriptingBridge框架;甚至还有两个示例应用程序(SBSetFinderCommentScriptingBridgeiCal)展示了如何集成它。

关于objective-c - MonoMac - 我怎样才能执行苹果脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5875830/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com