0

我已注册 PDF 文档类型,因此我可以打开在 Safari 中查看的邮件附件和 PDF 文件。问题是如果应用程序关闭,它可以正常工作。如果应用程序在后台。Safari/Mail 切换到我的应用程序didFinishLaunchingWithOptions,但未调用包含文件 URL 的应用程序函数。所以在这种情况下我无法访问该文件。

在 Safari 中打开任何文档之前,我是否需要强制用户关闭应用程序!

编辑:这是我的 plist 更改

<key>CFBundleDocumentTypes</key>
<array>
    <dict>
        <key>CFBundleTypeName</key>
        <string>PDF Document</string>
        <key>LSHandlerRank</key>
        <string>Alternate</string>
        <key>CFBundleTypeRole</key>
        <string>Viewer</string>
        <key>LSItemContentTypes</key>
        <array>
            <string>public.content</string>
            <string>public.item</string>
            <string>public.data</string>
        </array>
    </dict>
</array>

我弄乱了这些值,但 public.content 和 public.item 和 public.data 只是注册我的应用程序来打开任何内容,而不仅仅是 PDF。我仍然需要先关闭我的应用程序!

4

1 回答 1

0

@KDaker 在评论中指出了这一点,但底线是您需要在应用程序委托中实现这两个功能。

- (BOOL) application:(UIApplication *)application handleOpenURL:(NSURL *)url;

- (BOOL) application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation;
于 2013-02-05T00:37:16.173 回答