我在向应用程序注册图像文件类型时遇到问题。我尝试将下面的代码添加到我的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>
我注意到我可以注册其他文件类型,例如文本(将public.image
更改为public.text
),但它不能用于图像(“打开方式...”菜单没有显示我的应用程序)。
可能导致这种情况的原因,我该如何解决?
答案 0 :(得分:6)
现在可以从iOS 7中的邮件应用程序打开图像了,这有点令人费解:
点按并按住图像。 点击“快速查看”以使图像全屏显示。 点击图像以显示顶部工具栏。 点击右上角的打开按钮。 向左滚动列表以查找您的应用。
请务必为您感兴趣的图像类型设置捆绑文档类型。
答案 1 :(得分:6)
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>
答案 2 :(得分:2)
尝试:
<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上的other answer
答案 3 :(得分:2)
经过一些研究后,似乎无法为图像注册应用程序。 谢谢你的回答。
答案 4 :(得分:1)
public.image是一种抽象类型,请尝试注册public.png或public.jpeg等
答案 5 :(得分:0)
操作系统不允许您在应用中打开图片。我也尝试了很多排列和排列。组合,并在Apple支持的更多帖子中确认。
答案 6 :(得分:0)
根据Apple的文档,“要添加文档类型,请执行以下操作:
这对我有用public.image作为UTI。