我有一个应用程序可以使用自定义文件(具有自定义扩展名/UTI)存储用户创建的内容,并希望它使用UIDocumentPicker支持iCloudDrive。1.问题是,一旦文件被导入,它就会变灰,无法导入。尝试了几件事后,我发现问题出在自定义UTI上。如果我只是将文件扩展名更改为众所周知的扩展名,例如pdf,它就可以正常工作。我还使用下面的示例代码(只选择一个文档,什么都不做)进行测试。如果我选择一个带有自定义扩展名的文件,它会在导入一次后变灰。pdf文件没问题-我可以一次又一次地导入它们。我错过了什么吗?2。另一个问题是,如果我将文档类型指定为@"public.composite-co
我正在开发的iOS应用导出UTI。Info.plist的相关部分如下所示:UTExportedTypeDeclarationsUTTypeConformsTopublic.xmlpublic.dataUTTypeDescriptionGPXDocumentUTTypeIdentifierde.company.app.gpxUTTypeSize320IconFileDoc320.pngUTTypeSize64IconFileDoc64.pngUTTypeTagSpecificationpublic.filename-extensiongpx我希望应用程序通过“打开方式...”对话框处理G
即使没有文件扩展名,有没有办法找出文件UTI(统一类型标识符)?现在我是这样获取的,当文件有一个扩展名时:CFStringReffileUTI=UTTypeCreatePreferredIdentifierForTag(kUTTagClassFilenameExtension,(CFStringRef)[filepathExtension],NULL);我在网上找到了这个旨在在Mac上执行的代码段。但我在iOS中:CFStringReftypeString=UTCreateStringForOSType(outInfo.filetype);itemUTI=UTTypeCreatePre
如何在知道应用程序支持哪个UTI的情况下将文件发送到其他应用程序?假设文件没有文件扩展名,但我碰巧知道文件的UTI。我尝试了以下方法://targetisaNSURLwiththelocationoftheextensionlessfileonthesystem//knownUTIisaNSStringcontainingtheUTIofthefileUIDocumentInteractionController*dic=[UIDocumentInteractionControllerinteractionControllerWithURL:target];[dicretain];di
我有一个类似通用文件管理器的应用程序。我希望使用QLPreviewController、UIDocumentInteractionController等应用程序中的“打开方式...”功能能够向我的应用程序发送任何文件类型。我已经创建了一个文档类型,但是无论“Types”设置为“*”、“public.*”还是类似的组合,我都无法让应用程序显示非特定情况(如果例如,我将UTI更改为com.adobe.pdf)。在MacOSX上,可以将应用程序设置为所有文件类型的通用查看器-这在iOS上不可能吗?编辑通过文档,我发现只有少数原始UTI类型,所有其他类型都继承自这些类型public.itemp
我使用UIDocumentViewController(来自Xcode9模板)为iOS11创建了一个应用程序。我注册了文档类型以支持.swift文件(public.swift-script),并且它正在使用openinplace和Files应用程序,但在应用程序的浏览器中,扩展名为.swift的文件被禁用,我无法选择它们。我不知道是iOS11错误还是我,因为如果我将文档类型设置为与public.item文件一起使用,它就可以工作。注意:如果我允许选择多个项目,也会发生同样的事情,但如果我单击“全选”,文件将被正常选择。 最佳答案 我
CanmacosxregisteranUTIwithadotintheextension?我已阅读Apple的统一类型标识符简介概述和技术问题其实,这很明显。UTI标准告诉您,UTI字符串中的句点是倒序类链中的决定者。所以---它被正确解析和使用。你的尿路感染部分没有句号。用标准中的其他东西替换。我不明白你在说什么,我遇到的问题是文件扩展名中的点,而不是UTI部分。日志显示QuickLook正在通过org.nimrod-lang.cfg.nimrod但扩展名不匹配。因为它使用句点来决定什么是扩展。即在最后一个时期之后。简单地说,文件扩展名里面不能有一个点。UTIParser将在逆序链中增加一个
CanmacosxregisteranUTIwithadotintheextension?我已阅读Apple的统一类型标识符简介概述和技术问题其实,这很明显。UTI标准告诉您,UTI字符串中的句点是倒序类链中的决定者。所以---它被正确解析和使用。你的尿路感染部分没有句号。用标准中的其他东西替换。我不明白你在说什么,我遇到的问题是文件扩展名中的点,而不是UTI部分。日志显示QuickLook正在通过org.nimrod-lang.cfg.nimrod但扩展名不匹配。因为它使用句点来决定什么是扩展。即在最后一个时期之后。简单地说,文件扩展名里面不能有一个点。UTIParser将在逆序链中增加一个
CheckNSURLforUTI/filetype我正在构建一个允许用户将视频拖放到其上的应用程序。给定一个已删除NSURL*s的列表,我如何确保每个都符合public.movieUTI类型?如果我有一个NSOpenPanel,我会使用openPanel.allowedFileTypes=@[@"public.movie"];,而Cocoa会为我处理它。提前致谢!这应该可以工作:12345678910111213NSWorkspace*workspace=[NSWorkspacesharedWorkspace];for(NSURL*urlinurls){ NSString*type; NS
CheckNSURLforUTI/filetype我正在构建一个允许用户将视频拖放到其上的应用程序。给定一个已删除NSURL*s的列表,我如何确保每个都符合public.movieUTI类型?如果我有一个NSOpenPanel,我会使用openPanel.allowedFileTypes=@[@"public.movie"];,而Cocoa会为我处理它。提前致谢!这应该可以工作:12345678910111213NSWorkspace*workspace=[NSWorkspacesharedWorkspace];for(NSURL*urlinurls){ NSString*type; NS