问题标签 [uti]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
3529 浏览

objective-c - 如何在 plist 文件中定义统一类型标识符?

我的应用程序使用以下NSApplicationDelegate功能。

我想使用此功能使用户能够将图像文件拖放到 Dock 中的应用程序图标上。

如何在我的plist文件中定义某些文件类型以将它们限制为图像?我发现结构必须看起来像这样。

我将它添加到plist文件中,但它不起作用。弹出窗口显示以下错误消息。

无法打开文档“test.jpg”。MyApp 无法打开“JPEG 图像”格式的文件。

此外,我在文档中读到public.image了我想要定义的内容。

同时,我发现如果我使用“创建基于文档的应用程序”选项创建一个 Cocoa 应用程序,该plist文件只包含密钥CFBundleDocumentTypes。您能否澄清一下该选项存在哪些依赖项?

0 投票
1 回答
1072 浏览

cocoa - public.composite-content (kUTTypeCompositeContent) 是什么类型的文件?

我正在编写一个文件导入器并想要处理pdf类型。我看到com.adobe.pdf ( kUTTypePDF) 并public.composite-content输入。

统一类型标识符参考文档:

混合内容的基本类型。例如,PDF 文件包含文本和特殊格式数据。

有人可以举一个这种类型的文件的例子吗?

0 投票
1 回答
1609 浏览

iphone - 用于从另一个应用程序打开文件的 Documents/Inbox 文件夹

我注册了我的应用程序以关联一些文件类型。所以当文件出现在邮件附件中时,我使用我的应用程序打开文件。我的应用程序将在我的 Documents 文件夹中自动创建一个“收件箱”文件夹,并将文件保存在“收件箱”中。这个收件箱很特别,因为它阻止我通过程序创建文件夹或将文件移动到其中。

我的问题是:

  1. “收件箱”有什么特别之处?我可以更改一些设置,它会允许我在里面创建一个子文件夹吗?

  2. 什么是正常的解决方案?

谢谢

卡伦

0 投票
1 回答
1142 浏览

objective-c - 从 plist 中检索允许的文件类型的智能方法

设想:

我喜欢在Info.plist我的 Cocoa 应用程序的文件中定义允许的文件类型(内容类型)。因此,我像下面的示例所示添加了它们。

此外,我的应用程序允许使用NSOpenPanel. 该面板允许通过以下选择器设置允许的文件类型:setAllowedFileTypes:. 文档说明可以使用UTI 。

文件类型可以是通用文件扩展名或 UTI。


自定义解决方案:

Info.plist我编写了以下辅助方法来从文件中提取 UTI 。

代替[NSBundle mainBundle]CFBundleGetInfoDictionary(CFBundleGetMainBundle())可以使用。


问题:

  1. 你知道从Info.plist文件中提取内容类型信息的更聪明的方法吗?有 Cocoa 内置功能吗?
  2. 您如何处理可以包含在那里的文件夹的定义,例如public.folder

注意:
在我的研究中,我发现这篇文章信息量很大:使用统一类型标识符简化数据处理

0 投票
1 回答
1406 浏览

iphone - 其他应用在 iOS 5 中粘贴 HTML 而不是我们粘贴板数据的文​​本版本

我们有一个现有的应用程序,允许用户将文本复制到粘贴板。在可能的情况下,我们将 HTML 和纯文本都放在剪贴板上,因为我们不知道用户可能会粘贴到哪个其他应用程序中,并且希望同时提供格式化 (HTML) 和未格式化的数据。

此功能在 iOS 3 和 4 中运行良好。但一旦用户安装 iOS 5,当他们将文本从我们的应用程序粘贴到任何其他应用程序时,其他应用程序会获取 HTML 文本但将其视为纯文本。因此,如果他们选择并复制 H1 标题,当他们粘贴到其他应用程序时,他们看到的不是“这是一个标题”,而是“<h1>这是一个标题</h1>”。

请注意,这是在 iOS 3 和 4 中正常工作的现有代码。在 iOS 3、4 和 5 之间,我们的代码没有变化。

为了完整起见,这是我们用来将文本放在粘贴板上的代码,提供了一个简单的字符串仅供参考:

显然,我的问题是“为什么 iOS 5 应用程序在请求纯文本时会获取 HTML 文本,而在 iOS 4 下运行的同一个应用程序会获取纯文本?”

0 投票
2 回答
773 浏览

macos - 动态尿路感染稳定吗?

我的文件格式没有声明 UTI,因此 Launch Services 已为其分配了一个动态 UTI ( dyn.ah62d4rv4ge81g23wsmw1a5dbte)。我无法控制这些文件的 UTI。

碰巧我想为该格式开发一个 Quick Look 生成器,并且 Quick Look 生成器仅依赖于文档 UTI,并且将忽略其属性列表中存在的任何其他类型的文档标识(例如创建者代码和扩展名)。

在开发人员添加一个之前,我使用动态 UTI 是否安全?那些是由稳定的算法生成的,很有可能为另一台机器上的相同文件返回相同的 UTI?

0 投票
2 回答
6479 浏览

ios - iOS 文档/文件类型关联 - 通配符 UTI?

我有一个应用程序,它是一个通用文件管理器。我希望使用 QLPreviewController、UIDocumentInteractionController 等的应用程序中的“打开方式...”功能能够向我的应用程序发送任何文件类型。

我已经创建了一个文档类型,但是无论“类型”设置为“*”、“public.*”还是类似的组合,我都无法让应用程序在非特定情况下显示(如果我更改UTI 到 com.adobe.pdf,例如)。

在 Mac OS X 上,可以将应用程序设置为所有文件类型的通用查看器 - 这在 iOS 上是不可能的吗?


编辑

通过文档,我发现只有少数原始 UTI 类型,所有其他类型都继承自

其中,许多显然永远不会成为文件的实例。

我可能过于雄心勃勃地尝试创建通配符测试:我尝试了 public.item 并且它适用于邮件中的 pdf 文件。由于文档声明 public.item 是“物理层次结构的基本类型。”,这可能意味着这通配符,即“public.item = *”

在最坏的情况下,我可以添加项目、内容、数据库和存档,并希望获得最好的结果。最好的情况,项目涵盖一切。

0 投票
1 回答
381 浏览

macos - Finder 没有看到我的尿路感染

我试图告诉 OSX 的 Finder,我的电子邮件客户端应用程序可以打开 .eml 文件,但到目前为止进展并不顺利。我从 Mail.app 的 plist 中取了一片,几乎直接复制了大部分 UTI 值,只是将 UTTypeIdentifier 更改为我自己的公司。

就目前而言的 plist:

有什么明显的地方我做错了吗?

0 投票
1 回答
5522 浏览

objective-c - UIDocumentInteractionController,没有文件扩展名但 UTI

如何知道应用程序支持哪个 UTI 将文件发送到不同的应用程序?假设该文件没有文件扩展名,但我碰巧知道该文件的 UTI。

我尝试了以下方法:

它显示支持的应用程序,但是,如果我选择它,它不会切换应用程序。代表打电话给

永远不会被调用,并且应用程序永远不会切换。

目标 App 以如下方式导出其 UTI:

由于这不起作用,我还尝试添加自定义扩展。不过,它不会以这种方式工作。将自定义扩展名添加到我移交给的文件时DocumentInteractionController,它可以工作。但是,应用程序列表显示了支持相同文件扩展名的所有其他应用程序,无论 I 提供的 UTI 类型如何。

假设我在 2 个不同的应用程序中声明了 2 个 UTI:

当将文件交给 DocumentInteractionController 并将 UTI 设置为com.mycomp.a它时,也会将 App2 显示为能够处理文件的可能应用程序。

我以以下方式定义了一个带有扩展名的UTI:

我真的很感谢你的帮助,我有点卡住了。所以,又是一个问题:如何将文件发送到具有已知 UTI 的应用程序,或者没有扩展名,或者与我不想在 DocumentInteractionController 中将应用程序显示为选项的其他文件具有相同的扩展名?

谢谢

0 投票
2 回答
2199 浏览

objective-c - 自定义 UTI 未在 App 中打开

我正在尝试为我的应用程序创建一个新的文档 UTI,以便人们可以与他人分享兴趣点。根据我对 SO、Tutorials 和 Apple 文档的理解,您需要执行以下操作:

  1. 在 .plist 中创建文档类型
  2. 创建与其对应的导出 UTI
  3. 使用方法:-(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

据我了解,只要您做对了,您应该可以通过Mail打开文件而没有任何问题。不幸的是,它不适用于我自己的自定义 UTI。我确实在邮件的“打开方式...”列表中看到了我的应用程序,但是当我选择它时,我的应用程序根本没有打开。它根本不做任何事情,不仅在应用程序未打开时,而且在应用程序打开时。邮件保持不变,根本没有任何反应。我还使用“Organizer”检查了控制台,绝对没有发生任何事情。

最初我认为我的 plist 是错误的,所以我测试了打开一个公共 UTI(我添加了 com.adobe.pdf 文档类型)并且我的应用程序启动得很好(尽管它很快就崩溃了,因为我实际上不支持 PDF;))。但关键是它启动时没有任何问题。

我唯一能想到的可能是一个问题是我如何创建文件。我正在使用此方法在电子邮件中创建文件(也在要导出的应用程序中):

这有什么问题吗?

另外,这是我的 plist 代码:

CFBundleDocumentTypes:

UTExportedType声明:

非常感谢您的帮助!!-标记