0

这是场景,我有三个 iWork Numbers 文件,使用最新的 Mavericks 版本创建并保存在 iCloud 上:

timesheet_2014.numbers 我在其中收集所有工作时间 invoice_model.numbers 我的发票模型 invoice_register.numbers 我在其中跟踪所有到期和已支付的发票

在月底,我从时间表中获取数据,手动准备发票,并将其参考存储在寄存器中。

我正在手动完成所有这些工作,并且正在尝试使整个过程自动化。目前我不想写一个完整的程序,但我的首选是准备一些具有这种行为的objective-c脚本:

  1. 从时间表中读取给定的表格和单元格
  2. 加载模型,复制它并用给定值填充相关单元格
  3. 查找寄存器以获取最新的渐进式发票编号并将 +1 分配给当前发票
  4. 以 PDF 格式保存发票(谷歌驱动器或保管箱存储)并将参考(仅发票编号、到期日等)存储在寄存器中

介绍完之后,问题如下:

  1. Objective-c 有一组特定的 API 来处理 iWork 文件吗?
  2. 如何从本地 iCloud 存储加载 Numbers 文件?
  3. 我知道答案是否定的,但如果 iOS 7 发生了一些变化,我会问这个问题:脚本通常会从 Mac 启动,但我是否有机会从带有 iOS 应用程序的 iOS 设备运行?该应用程序需要能够访问 iCloud 上的文件。
  4. Objective-c 是否有有效的替代方法?最好是小牛内置的东西。
4

1 回答 1

1

Objective-c 有一组特定的 API 来处理 iWork 文件吗?

没有。文件格式没有记录,也没有 API。

如何从本地 iCloud 存储加载 Numbers 文件?

如果您将文稿从 Numbers 存储到 iCloud,您只能从 Numbers 访问它。应用程序只能访问自己在 iCloud 中的文件。它不像文件夹。如果您的应用未将文件放入 iCloud,则您的应用无法从 iCloud 读取文件。

如果您想同步文档,您可以考虑使用 Dropbox。它提供了一种更像 Mac 的文件夹/文件方法,您将能够访问由其他应用程序创建的文档。

我知道答案是否定的,但如果 iOS 7 发生了一些变化,我会问这个问题:脚本通常会从 Mac 启动,但我是否有机会从带有 iOS 应用程序的 iOS 设备运行?该应用程序需要能够访问 iCloud 上的文件。

可以编写与相应的 Mac 应用程序共享 iCloud 数据的 iOS 应用程序。不过,这并不重要,因为您无法访问 Numbers 在 iCloud 中保存的文件。

Objective-c 是否有有效的替代方法?最好是小牛内置的东西。

如果您使用的是先前版本的 Numbers(Numbers 2.3,iWork '09 的一部分),您可能会在使用 Applescript 时获得一些运气。当前版本的 Numbers (Numbers 3.0.1) 不可编写脚本。

于 2014-01-22T19:12:28.270 回答