我已注册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。我还是需要先关闭我的应用程序!
答案 0 :(得分:0)
@KDaker在评论中指出了这一点,但最重要的是你需要在你的应用程序委托中实现这两个函数。
- (BOOL) application:(UIApplication *)application handleOpenURL:(NSURL *)url;
- (BOOL) application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation;