使用“com.instagram.photo”UTI从UIDocumentInteractionController获取图像

时间:2013-06-24 21:55:46

标签: objective-c instagram

我正在尝试将图像发送到我的应用中的Instagram,就像许多照片应用程序正在进行的那样。我从UIDocumentInteractionController导入了一些关于导入文档的教程,但是它没有用。

也许是因为所有教程都是关于如何打开PDF文件,以及打开发送到Instagram的.ig文件我需要更多的东西?

无论如何,我编辑了我的plist以添加以下几行:

<key>CFBundleDocumentTypes</key>
<array>
    <dict>
        <key>LSItemContentTypes</key>
        <array>
            <string>com.instagram.photo</string>
        </array>
        <key>CFBundleTypeRole</key>
        <string>Viewer</string>
        <key>CFBundleTypeName</key>
        <string>Ig Document</string>
        <key>LSHandlerRank</key>
        <string>Default</string>
    </dict>
</array>

现在我的应用程序出现在UIDocumentInteractionController菜单中,但是当我点击“在MyPhotoApp中打开”时,菜单就会关闭,没有任何反应。

我尝试在方法中设置一个断点:(BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation

但似乎它从未被调用过。我错过了什么?

1 个答案:

答案 0 :(得分:0)

好的,想通了。我在plist上遗漏了以下几行:

<key>UTExportedTypeDeclarations</key>
<array>
    <dict>
       <key>UTTypeTagSpecification</key>
       <dict>
           <key>public.filename-extension</key>
           <string>ig</string>
       </dict>
       <key>UTTypeIdentifier</key>
       <string>com.instagram.photo</string>
       <key>UTTypeDescription</key>
       <string>Ig Photo</string>
   </dict>
</array>

现在它正在运作