我想使用从iPhone的邮件下载的文件(pdf,图像,Doc)我该如何使用它? 当用户点击任何文件中的共享时,如何在显示的选项中显示我的应用程序? 总之,我想用以上选项添加我的应用程序(在核桃中打开)
答案 0 :(得分:2)
如果您的应用能够打开特定类型的文件,您应该在系统中注册该支持。这允许其他应用程序通过iOS文档交互技术为用户提供将这些文件移交给您的应用程序的选项。
要声明其对文件类型的支持,您的应用必须在CFBundleDocumentTypes
列表文件中包含Info.plistproperty
密钥
CFBundleDocumentTypes
键包含一系列词典,每个词典都标识有关特定文档类型的信息。
CFBundleDocumentTypes
数组中的每个字典都可以包含以下键:
CFBundleTypeName
指定文档类型的名称。
CFBundleTypeIconFiles
是图像的文件名数组
用作文档图标的资源。
LSItemContentTypes
包含具有UTI类型的字符串数组
表示该组中支持的文件类型。
LSHandlerRank
描述此应用程序是否拥有该文档
输入或只是打开它。
自定义文件格式的文档类型信息
<dict>
<key>CFBundleTypeName</key>
<string>My File Format</string>
<key>CFBundleTypeIconFiles</key>
<array>
<string>MySmallIcon.png</string>
<string>MyLargeIcon.png</string>
</array>
<key>LSItemContentTypes</key>
<array>
<string>com.example.myformat</string>
</array>
<key>LSHandlerRank</key>
<string>Owner</string>
</dict>
有关详情:Developer.Apple: Registering the File Types Your App Supports
答案 1 :(得分:1)
您可以使用UIDocumentInteractionController
-(IBAction)onTouchOpenInButton:(id)sender
{
if(!documentController)
{
documentController = [UIDocumentInteractionController interactionControllerWithURL:[NSURL fileURLWithPath:loaclFileURL]];
}
else{
documentController.URL= [NSURL fileURLWithPath:loaclFileURL];
}
[documentController presentOptionsMenuFromBarButtonItem:sender animated:YES];
}
来自Apple Docs
文档交互控制器与委托对象一起提供应用程序内支持,以管理用户与本地系统中文件的交互。例如,电子邮件程序可能使用此类来允许用户预览附件并在其他应用程序中打开它们。使用此类显示用于预览,打开,复制或打印指定文件的相应用户界面
如果您希望自己的应用具有所呈现的屏幕截图的功能,请使用UIDocumentInteractionController
如果您希望自己的应用列在openin操作表中(例如在应用名称中打开),请参阅ramshad的回答