0

i need to open an Apple unsupported file in my ipad app using "Open In" feature. The file extension in ".lasso" . I said that file is unsupported by Apple, because i cant find it description in Apple System-Declared Uniform Type Identifiers.

I was try to solved that using CFBundleDocumentTypes in info.plist, but i still can not open it. i was write this in my plist :

enter image description here

enter image description here

but when i try to open a .lasso file from another apps, there always show an alert "Can not open this file in another apps".

do somebody know how to solved it?

R. Dewi
  • 4,141
  • 9
  • 41
  • 66

1 Answers1

0

You need to create your own UTI for your file type, something like com.yourcompany.lasso. Your Info.plist is claiming to export the public.plain-text UTI which of course already exists. You would also list the pre-existing UTIs that your new UTI conforms to. You don't show what's under the "Conforms to UTIs" key in the screenshot, but it should apparently be public.plain-text if .lasso files are indeed plain text. (If there's a specific encoding for .lasso files, such as UTF-8, you should consider something more specific, such as public.utf8-plain-text.)

Also, you should either have a custom MIME type or not use one at all. You don't want to redefine the "text" MIME type to suggest that all data streams of that type are Lasso files, do you?

And why are you using all-caps for "LASSO". I assume that, in real use, files will have an extension in lowercase like ".lasso". Right?

Ken Thomases
  • 88,520
  • 7
  • 116
  • 154
  • yes, it .lasso i will change it, but the .lasso is not mine, it's another apps or language extension, is it find if i use my own UTI? i find http://www.fileinfo.com/extension/lasso, about lasso – R. Dewi May 09 '12 at 07:35
  • If the extension is not yours, then you aren't exporting a UTI, you're importing one. Ideally, you'd copy the export from the original app and just change it from an export to an import. Hmm, I explored LassoSoft's site. The original is a server rather than an app and so doesn't export a UTI. You might just make one up. Use your own reverse-domain identifier. You're not entitled to define one under com.lassosoft and if you did you might conflict with one they define now or in the future. – Ken Thomases May 09 '12 at 08:08