为什么我不能注册我的iOS应用程序来处理图像文件types?

我有一个注册图像文件types到我的应用程序的问题。 我试着把下面的代码添加到我的plist中,但没有任何反应。

<key>CFBundleDocumentTypes</key> <array> <dict> <key>CFBundleTypeName</key> <string>Scary Bug Document</string> <key>LSHandlerRank</key> <string>Alternate</string> <key>CFBundleTypeRole</key> <string>None</string> <key>LSItemContentTypes</key> <array> <string>public.image</string> </array> </dict> </array> 

我注意到,我可以注册其他文件types,如文本(更改public.image public.text ),但它不会与图像(“打开..”菜单不显示我的应用程序)。

有什么可能导致这个,我怎么能解决它?

现在可以在iOS 7中从邮件应用程序打开图像,这只是有点复杂:

点击并按住图像。 点按“快速查看”,以便图像变为全屏。 点击图片显示顶部的工具栏。 点击右上angular的打开button。 将列表滚动到左侧以查找您的应用。

确保为您感兴趣的图像types设置您的捆绑包文档types。

Dimitri Bouniol回应说,它在iOS 7中通过快速查看是正确的。 以下是我在info.plist中添加的内容,是我如何为我的应用程序工作的。 还没有想出如何获得分享照片或相机胶卷工作。

  <key>CFBundleDocumentTypes</key> <array> <dict> <key>CFBundleTypeExtensions</key> <array> <string>myapp image</string> </array> <key>CFBundleTypeName</key> <string>public.png</string> <key>CFBundleTypeRole</key> <string>Editor</string> <key>LSHandlerRank</key> <string>Alternate</string> <key>LSItemContentTypes</key> <array> <string>public.png</string> <string>public.jpeg</string> </array> </dict> </array> <key>UTImportedTypeDeclarations</key> <array> <dict> <key>UTTypeConformsTo</key> <array> <string>public.image</string> </array> <key>UTTypeIdentifier</key> <string>public.png</string> <key>UTTypeTagSpecification</key> <dict> <key>com.apple.ostype</key> <string>PNG</string> <key>public.filename-extension</key> <array> <string>png</string> </array> <key>public.mime-type</key> <string>image/png</string> </dict> </dict> <dict> <key>UTTypeIdentifier</key> <string>public.jpeg</string> <key>UTTypeReferenceURL</key> <string>http://www.w3.org/Graphics/JPEG/</string> <key>UTTypeDescription</key> <string>JPEG image</string> <key>UTTypeIconFile</key> <string>public.jpeg.icns</string> <key>UTTypeConformsTo</key> <array> <string>public.image</string> <string>public.data</string> </array> <key>UTTypeTagSpecification</key> <dict> <key>com.apple.ostype</key> <string>JPEG</string> <key>public.filename-extension</key> <array> <string>jpeg</string> <string>jpg</string> </array> <key>public.mime-type</key> <string>image/jpeg</string> </dict> </dict> </array> 

尝试:

 <key>CFBundleDocumentTypes</key> <array> <dict> <key>CFBundleTypeName</key> <string>Scary Bug Document</string> <key>LSHandlerRank</key> <string>Alternate</string> <key>CFBundleTypeRole</key> <string>None</string> <key>LSItemContentTypes</key> <array> <string>public.png</string> <string>public.jpg</string> </array> </dict> </array> 

另外,请参阅StackOverflow上的其他答案

在做了一些研究后,似乎无法注册应用程序的图像。 感谢您的回答。

public.image是一个抽象types,尝试注册public.png或public.jpeg等

操作系统不会允许你在你的应用程序中打开图像。 我也尝试了很多排列和组合,并在Apple支持部门的几个post中得到证实。