gpt4 book ai didi

objective-c - NSAppleScript 使用给定的 NSRange 突出显示任何 Mac 应用程序中的文本

转载 作者:行者123 更新时间:2023-12-03 17:37:42 25 4
gpt4 key购买 nike

我试图通过使用 NSAppleScript 通过自定义 Mac 应用程序在任何 Mac 应用程序中突出显示文本。我已经尝试过下面的代码,但它不起作用。

NSAppleScript* scriptObject = [[NSAppleScript alloc] initWithSource:[NSString stringWithFormat:@"\
tell application \"%@\"\n\
activate\n\
end tell\n\
tell application \"%@\"\n\
set theRange to create range start %ld end %ld\n\
set highlight color index of theRange to %@\n\
end tell\n\
",[[NSUserDefaults standardUserDefaults] valueForKey:@"AppName"],[[NSUserDefaults standardUserDefaults] valueForKey:@"AppName"],(unsigned long)range.location, (unsigned long)(range.location+range.length),@"yellow"]];

但我遇到以下错误:

NSAppleScriptErrorBriefMessage = "Expected end of line but found identifier.";
NSAppleScriptErrorMessage = "Expected end of line but found identifier.";
NSAppleScriptErrorNumber = "-2741";
NSAppleScriptErrorRange = "NSRange: {459, 5}";

还有其他方法可以做到这一点吗?任何帮助将不胜感激。

最佳答案

这不适用于所有应用程序,因为 NSUserDefaults 中指定的应用程序必须具有 AppleScript 字典,并且该字典必须包含命令、属性和类。

许多应用程序根本无法编写脚本,并且几乎所有应用程序都不理解创建范围突出显示颜色索引

该错误是编译错误。

<小时/>

从 ObjC 的角度来看,永远不要将 valueForKey:NSUserDefaults 一起使用,除非你能解释为什么在这种情况下明确需要 KVC。有 stringForKey:id 对象 objectForKey:

关于objective-c - NSAppleScript 使用给定的 NSRange 突出显示任何 Mac 应用程序中的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53002882/

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