gpt4 book ai didi

objective-c - 如何使用 objective-c 创建 Numbers 电子表格?

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

我正在编写一个 Cocoa 应用程序,我想使用 Scripting Bridge 从我的应用程序生成一个 Numbers 电子表格。我已经生成了 Numbers.h 文件并按照 Apple's Documentation 中的说明链接了 ScriptingBridge.framework .下面是我用来尝试简单地创建一个 Numbers 文档并保存它的代码。

NSString *path = @"/Users/username/Desktop/Test.numbers";

NumbersApplication *numbers = [SBApplication applicationWithBundleIdentifier:@"com.apple.iWork.Numbers"];

[numbers activate];

NumbersDocument *document = [[[numbers classForScriptingClass:@"document"] alloc] initWithProperties:[NSDictionary dictionaryWithObjectsAndKeys:project.title, @"name", nil]];

[[numbers documents] addObject:document];

[document saveAs:nil in:[NSURL URLWithString:path]];

代码编译并运行,当我尝试 saveAs:in: 方法时出现以下错误:

-[SBProxyByClass saveAs:in:]: 对象还没有被添加到容器中;选择器无法识别 [self = 0x2005912e0]

除了将文档添加到 [numbers documents] 数组之外,我还需要做些什么吗?

我愿意使用 AppleScript,但如果可以的话,我更愿意使用 Scripting Bridge。

最佳答案

嗯,用 SB 编写 Numbers 脚本;两种黑色艺术,一种的价格。我建议首先尝试在 AppleScript 中执行此操作,以缩小问题范围。

如果它也在 AS 中中断,那么要么是你的命令措辞错误,要么是 Numbers 中存在问题。由于大多数应用程序脚本编写者使用 AppleScript,如果您可以提供他们会识别的代码,您会发现更容易获得帮助。

如果有效,那么要么是您对 ObjC 的命令翻译不正确,要么是 SB 中存在问题。在 AS 中有一个工作示例将为找出问题所在提供一个起点。

您也可以查看 objc-appscript ,它提供了一种比 SB 更可靠、混淆更少的替代方案。它的 ASTranslate 工具可以轻松地将工作 AS 命令转换为 ObjC 语法。

关于objective-c - 如何使用 objective-c 创建 Numbers 电子表格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3025858/

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