【问题标题】:How can I get my app in "Open with" [duplicate]如何在“打开方式”中获取我的应用程序 [重复]
【发布时间】:2013-02-10 00:51:50
【问题描述】:

我只是在寻找一种方法,让我的应用出现在“打开方式”菜单中。 我在这个主题上看到了这个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>

【问题讨论】:

  • 除非您发布您添加到 Info.plist 的详细信息,否则任何人都无法帮助您确定它为什么不起作用。

标签: ios objective-c


【解决方案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>

【讨论】:

  • 我只需要复制最后一个字典并用 JPG 更改 PNG 以便还包含 jpg 文件?
  • 应用打开时调用什么函数:- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url ou - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions :(NSDictionary *)launchOptions ?
  • @Seb 阅读这两个委托方法的文档。文档告诉你哪个被调用。如果您还想支持 JPG,那么可以,复制 PNG 块,然后将 PNG 更改为 JPG 并将 public.png 更改为 public.jpeg
  • 我已经尝试了这里和其他地方提供的所有方法,但我仍然在努力获取打开的 PNG 文件。我正在使用 iOS 7。在某些地方,他们说这个问题是从 ios 6 开始的。是真的吗?我们不能在 iOS 7 的“打开方式”对话框中打开 png 文件吗?
猜你喜欢
  • 2023-01-28
  • 2018-08-30
  • 2016-05-29
  • 1970-01-01
  • 1970-01-01
  • 2022-06-11
  • 1970-01-01
  • 1970-01-01
  • 2010-10-18
相关资源
最近更新 更多