2013-02-24 87 views
0

我只是想找到一种方法让我的应用程序在“打开方式”菜单中提出。 关于这个问题,我看到了这个StackOverflow topic,我在plist文件中设置了必要的行,但我的应用程序仍然没有提出。 我该怎么做?如何在“打开”中获取我的应用程序

这里是我的plist中设置代码:

<key>CFBundleDocumentTypes</key> 
<array> 
     <dict> 
      <key>CFBundleTypeExtensions</key> 
      <array> 
       <string>pdf</string> 
      </array> 
      <key>CFBundleTypeIconFile</key> 
      <string>app.icns</string> 
      <key>CFBundleTypeName</key> 
      <string>public.pdf</string> 
      <key>CFBundleTypeRole</key> 
      <string>Editor</string> 
     <key>LSHandlerRank</key> 
      <string>Owner</string> 
      <key>LSItemContentTypes</key> 
      <array> 
       <string>public.pdf</string> 
      </array> 
    </dict> 
     <dict> 
      <key>CFBundleTypeExtensions</key> 
      <array> 
       <string>png</string> 
      </array> 
      <key>CFBundleTypeIconFile</key> 
      <string>app.icns</string> 
      <key>CFBundleTypeName</key> 
      <string>public.png</string> 
      <key>CFBundleTypeRole</key> 
      <string>Editor</string> 
      <key>LSHandlerRank</key> 
      <string>Owner</string> 
      <key>LSItemContentTypes</key> 
      <array> 
        <string>public.png</string> 
      </array> 
     </dict> 
</array> 

<key>UTImportedTypeDeclarations</key> 
<array> 
    <dict> 
      <key>UTTypeConformsTo</key> 
      <array> 
        <string>public.data</string> 
      </array> 
      <key>UTTypeIdentifier</key> 
      <string>public.pdf</string> 
      <key>UTTypeTagSpecification</key> 
      <dict> 
        <key>com.apple.ostype</key> 
        <string>PDF</string> 
        <key>public.filename-extension</key> 
        <array> 
         <string>pdf</string> 
        </array> 
        <key>public.mime-type</key> 
        <string>application/pdf</string> 
      </dict> 
    </dict> 
     <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> 
</array> 
+0

除非你发布你添加到您的Info.plist什么的细节,有没有办法让任何人来帮助你确定为什么它不加工。 – rmaddy 2013-02-24 22:36:46

回答

1

它看起来像所有你所做的就是从您链接到其他答案复制这些条目。

对于PDF文件和PNG图像,根本不需要第二部分(导入的声明)。这些都是众所周知的文档类型。

对于文档类型,我只是这样做:

<key>CFBundleDocumentTypes</key> 
<array> 
    <dict> 
     <key>CFBundleTypeName</key> 
     <string>PDF</string> 
     <key>LSHandlerRank</key> 
     <string>Alternate</string> 
     <key>LSItemContentTypes</key> 
     <array> 
      <string>com.adobe.pdf</string> 
     </array> 
    </dict> 
    <dict> 
     <key>CFBundleTypeName</key> 
     <string>PNG</string> 
     <key>LSHandlerRank</key> 
     <string>Alternate</string> 
     <key>LSItemContentTypes</key> 
     <array> 
      <string>public.png</string> 
     </array> 
    </dict> 
</array> 
+0

我只需要复制最后一个字典并使用JPG更改PNG以便还包含jpg文件? – Seb 2013-02-25 09:14:38

+0

在应用程序打开时调用了什么函数: - (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url ou - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions? – Seb 2013-02-25 10:18:56

+0

@Seb阅读这两种委托方法的文档。文档告诉你哪个被调用。如果你还想支持JPG,那么是的,复制PNG块,然后将'PNG'改为'JPG'并将'public.png'改为'public.jpeg'。 – rmaddy 2013-02-25 17:33:52

相关问题