我检查了最新的DropBox和Excel for iOS.在DropBox中,我们得到一个编辑按钮.点击它打开Excel的扩展名,您可以在其中编辑文件.

保存后,更改也会反映在DropBox文件中.

我想添加这样一个按钮.此外,我想在图片中添加如此的按钮,以便在可用的“照片编辑”应用程序中打开它们.

如何检查文件(image,xls,doc或其他)是否可以打开来编辑?

代码到目前为止

UIDocumentPickerViewController *documentPicker = [[UIDocumentPickerViewController alloc] initWithURL:url inMode:UIDocumentPickerModeExportToService];
documentPicker.delegate = self;
documentPicker.modalPresentationStyle = UIModalPresentationFormSheet;
[self presentViewController:documentPicker animated:YES completion:nil];

也尝试改变模式到UIDocumentPickerModeMovetoService …

根据苹果文档
移动本地文档.用户选择外部目的地.文档选择器移动文档;但是,您仍然可以将文档作为外部文档访问,让用户将文档编辑到位.

但是我尝试了四种模式.没有显示excel选项.

UIDocumentPickerModeImport,UIDocumentPickerModeOpen,UIDocumentPickerModeExportToService,UIDocumentPickerModeMovetoService

解决方法

与其他iOS应用程序“本地”通信的唯一方法是使用所谓的URLSchemes.

这是使用URLScheme与MSOffice应用程序的文档.
https://msdn.microsoft.com/en-us/library/office/dn911482.aspx

回答具体问题:

How to check if file (image,doc or any other) can be opened to edit?

您可以使用UIApplication方法来检查当前设备是否响应特定的URLScheme,如果是,您可以调用应用程序来编辑您的文件.同样可以应用于您要打开的其他应用程序.您只需要查看应用程序是否支持URLScheme.

请记住,在iOS 9中,您需要在Info.plist中添加要在应用程序生命期间调用的URL.否则,canopenURL方法将始终返回NO.

此代码说明了该方法.但是,它是搜索一些导航应用程序.就像在WhatsApp中点击一个共享的朋友位置.

https://snipt.net/wallaaa/using-url-schemes/

结果:

ios – 添加“在Excel中编辑”或“编辑照片”扩展名的更多相关文章

  1. ios – 使用UIActivityViewController发送UIImage的控制文件名

    我与UIActivityViewController共享一个图像,以及一个url和一些文本.一切都很好,除了图像文件名永远是“Image-1”,没有扩展名.在某些情况下,这将导致一个大问题,例如在邮件应用程序中,根本不会打开没有扩展名的图像.图像正由应用程序生成,并以UIImage的形式存在.有没有方法来控制文件名,并为图像添加正确的扩展名?解决方法如果其应用程序生成图像(UIImage参考),那

  2. xcode4 – 如何将excel文件类型(xlsx)与iPhone应用程序相关联

    您好,我已经通过向项目构建添加文档类型并将Types字段设置为“com.microsoft.excel.xls”(请参阅屏幕截图),通过邮件应用程序打开.xls文件.我想对xlsx文件做同样的处理,但不能做.我尝试添加“com.microsoft.excel.xlsx”但是没有起作用解决方法我通过定义自定义UTI解决了如下.尝试将这些定义添加到您的info.plist中.它按预期工作.….

  3. ios – 如何在不使用故事板的情况下创建通知内容扩展

    我想创建一个NotificationContentExtension来利用新的iOS10丰富通知.但是,在主应用程序中,我们不使用接口构建器.如何创建不使用故事板的内容扩展?解决方法>像往常一样创建通知内容扩展目标.>从项目中删除storyboard文件>从扩展的Info.plist中删除NSExtensionMainStoryboard条目.>将NSExtensionPrincipalClass

  4. Swift:遍历文件夹及其子文件夹中的文件

    我很新的编程一个Swift,我试图迭代文件夹中的文件。我看了一下答案here,并试图将其翻译成Swift语法,但没有成功。我得到的错误是:我的目标是查看包含在主文件夹中的所有子文件夹和文件,找到所有具有特定扩展名的文件,然后与他们做一些事情。任何帮助是非常感谢!使用枚举器的nextObject()方法:

  5. swift – iOS 10 iMessage应用程序扩展名:我如何计算超高导航栏的高度

    我下载了Xcode8测试版,并试图玩iMessages应用程序扩展程序sdk,但遇到了一个问题,他们看似非标准的导航栏高度当我转换到应用程序的扩展视图时,我的图像包含以下框架CGRect最终部分隐藏在导航栏的后面。我希望它出现在导航栏下方。.navigationBar.isTranslucent=false,但它没有工作,我猜是有道理的,因为它不在我的应用程序的范围控制。我想避免2件事情。只需猜测相应的高度并远离编程解决方案。谢谢您的帮助这可能有助于使顶部布局指南的约束如下:

  6. Swift并使用类扩展

    我不明白为什么程序员在他们的类实现中使用extension关键字.您可以阅读其他主题,然后代码更加语义上分离等.但是当我使用自己的代码时,我觉得使用//MARK–Something更清楚.然后在Xcode中使用方法列表(ctrl6)时,首先看到一切.在Apple文档中,您可以阅读:“Extensionsaddnewfunctionalitytoanexistingclass,structure,o

  7. swift – 将NSCoding添加为扩展名

    正确初始化类型是不可能的.您可以在扩展程序中添加方便的初始化程序,因为它们的性质必须调用指定的初始化程序.此外,init被指定为指定的初始化程序,因为它是创建实例的完全不同的路由.以UIViewController为例,它可以使用简单的代码创建,也可以从XIB文件创建.最后,不可能添加实现NSCoding的扩展.也许你可以创建一个包含这个类的包装类,并实现NSCoding.

  8. swift – 如何编写处理可选值的字典扩展名

    ]字典上使用我的方法,它无法选择绑定该值.如何编写一个适合处理可选值的字典的扩展名?

  9. AppDelegate.swift如何在Xcode 6.3中替换AppDelegate.h和AppDelegate.m

    根据iOSDeveloperLibraryTheappdelegateiswhereyouwriteyourcustomapp-levelcode.Likeallclasses,theAppDelegateclassisdefinedintwosourcecodefilesinyourapp:intheinterfacefile,AppDelegate.h,andintheimplementati

  10. 如何在Android上查找具有特定扩展名的所有文件?

    我正在使用filebrowser来查找手机上的文件,但我想显示我的应用程序可以向用户打开的所有文件,然后用户选择一个.与音乐播放器一样,它显示电话,SD卡和内部存储器中的所有歌曲,而不仅仅是用户所在文件夹中的歌曲.解决方法列出文件时使用文件名过滤器.下面的示例列出了给定根目录中的所有mp3文件–

随机推荐

  1. iOS实现拖拽View跟随手指浮动效果

    这篇文章主要为大家详细介绍了iOS实现拖拽View跟随手指浮动,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  2. iOS – genstrings:无法连接到输出目录en.lproj

    使用我桌面上的项目文件夹,我启动终端输入:cd然后将我的项目文件夹拖到终端,它给了我路径.然后我将这行代码粘贴到终端中找.-name*.m|xargsgenstrings-oen.lproj我在终端中收到此错误消息:genstrings:无法连接到输出目录en.lproj它多次打印这行,然后说我的项目是一个目录的路径?没有.strings文件.对我做错了什么的想法?

  3. iOS 7 UIButtonBarItem图像没有色调

    如何确保按钮图标采用全局色调?解决方法只是想将其转换为根注释,以便为“回答”复选标记提供更好的上下文,并提供更好的格式.我能想出这个!

  4. ios – 在自定义相机层的AVFoundation中自动对焦和自动曝光

    为AVFoundation定制图层相机创建精确的自动对焦和曝光的最佳方法是什么?

  5. ios – Xcode找不到Alamofire,错误:没有这样的模块’Alamofire’

    我正在尝试按照github(https://github.com/Alamofire/Alamofire#cocoapods)指令将Alamofire包含在我的Swift项目中.我创建了一个新项目,导航到项目目录并运行此命令sudogeminstallcocoapods.然后我面临以下错误:搜索后我设法通过运行此命令安装cocoapodssudogeminstall-n/usr/local/bin

  6. ios – 在没有iPhone6s或更新的情况下测试ARKit

    我在决定下载Xcode9之前.我想玩新的框架–ARKit.我知道要用ARKit运行app我需要一个带有A9芯片或更新版本的设备.不幸的是我有一个较旧的.我的问题是已经下载了新Xcode的人.在我的情况下有可能运行ARKit应用程序吗?那个或其他任何模拟器?任何想法或我将不得不购买新设备?解决方法任何iOS11设备都可以使用ARKit,但是具有高质量AR体验的全球跟踪功能需要使用A9或更高版本处理器的设备.使用iOS11测试版更新您的设备是必要的.

  7. 将iOS应用移植到Android

    我们制作了一个具有2000个目标c类的退出大型iOS应用程序.我想知道有一个最佳实践指南将其移植到Android?此外,由于我们的应用程序大量使用UINavigation和UIView控制器,我想知道在Android上有类似的模型和实现.谢谢到目前为止,guenter解决方法老实说,我认为你正在计划的只是制作难以维护的糟糕代码.我意识到这听起来像很多工作,但从长远来看它会更容易,我只是将应用程序的概念“移植”到android并从头开始编写.

  8. ios – 在Swift中覆盖Objective C类方法

    我是Swift的初学者,我正在尝试在Swift项目中使用JSONModel.我想从JSONModel覆盖方法keyMapper,但我没有找到如何覆盖模型类中的Objective-C类方法.该方法的签名是:我怎样才能做到这一点?解决方法您可以像覆盖实例方法一样执行此操作,但使用class关键字除外:

  9. ios – 在WKWebView中获取链接URL

    我想在WKWebView中获取tapped链接的url.链接采用自定义格式,可触发应用中的某些操作.例如HTTP://我的网站/帮助#深层链接对讲.我这样使用KVO:这在第一次点击链接时效果很好.但是,如果我连续两次点击相同的链接,它将不报告链接点击.是否有解决方法来解决这个问题,以便我可以检测每个点击并获取链接?任何关于这个的指针都会很棒!解决方法像这样更改addobserver在observeValue函数中,您可以获得两个值

  10. ios – 在Swift的UIView中找到UILabel

    我正在尝试在我的UIViewControllers的超级视图中找到我的UILabels.这是我的代码:这是在Objective-C中推荐的方式,但是在Swift中我只得到UIViews和CALayer.我肯定在提供给这个方法的视图中有UILabel.我错过了什么?我的UIViewController中的调用:解决方法使用函数式编程概念可以更轻松地实现这一目标.

返回
顶部