【发布时间】:2015-06-25 09:24:45
【问题描述】:
在回答question 时,涉及将纯文本字符串写入具有非标准扩展名的文件。在这种情况下 .meta 但它可以是任何东西。
我注意到当我使用 Applescript 代码写出文件时。:
set meta_text to "alt " & alt_text & return & "copyright " & copyrightText & return & "signature " & signatureText
set meta_file to open for access meta_path with write permission
write meta_text to meta_file
close access meta_file
使用 Quicklook 可以看到生成的文件的文本,并且 TextEdit.app 自动设置为默认应用程序来打开它。
在我将代码更改为使用 Objective - C 之前,我没有想到任何事情。(实际上是 ApplescriptOBJC,但在所有意图和目的上都是一样的)
BOOL success = [meta_text writeToFile: meta_file atomically:YES encoding:NSUnicodeStringEncoding error:nil];
发现生成的文件的文本不可以通过 Quicklook 看到,并且 TextEdit.app 被不自动设置为默认应用程序来打开它。
我意识到实际上后一种行为是我应该从两个代码执行中得到的。
谁能解释为什么存在这种差异以及如何让 Objective-C 代码设置(我假设)UTI,以便它也提供与 Applescript 代码相同的行为。
【问题讨论】:
标签: objective-c macos file applescript uti