iOS实现使用其它应用程序打开文件的功能
2018-02-05 16:42
671 查看
import UIKit class Utils: NSObject { static func topviewController() -> UIViewController? { var aRoot = UIApplication.shared.keyWindow?.rootViewController while aRoot?.presentedViewController != nil { aRoot = aRoot?.presentedViewController if aRoot is UINavigationController { aRoot = (aRoot as? UINavigationController)?.visibleViewController } else if aRoot is UITabBarController { aRoot = (aRoot as? UITabBarController)?.selectedViewController } } return aRoot } }
下面是用其他应用打开文件的代码
let topVC = Utils.topviewController() let documentVC = UIDocumentInteractionController(url: url) documentVC.delegate = self documentVC.presentOpenInMenu(from: CGRect.zero, in: (topVC?.view)!, animated: true)
//同时处理文件的类要实现UIDocumentInteractionControllerDelegate协议
import UIKit
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate,UIDocumentInteractionControllerDelegate {
var window: UIWindow?
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
// Override point for customization after application launch.
return true
}
func application(_ app: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any] = [:]) -> Bool {
print(url.absoluteString)
let topVC = Utils.topviewController() let documentVC = UIDocumentInteractionController(url: url) documentVC.delegate = self documentVC.presentOpenInMenu(from: CGRect.zero, in: (topVC?.view)!, animated: true)return true
}
func documentInteractionController(_ controller: UIDocumentInteractionController, willBeginSendingToApplication application: String?) {
}
func documentInteractionController(_ controller: UIDocumentInteractionController, didEndSendingToApplication application: String?) {
}
func documentInteractionControllerDidDismissOpenInMenu(_ controller: UIDocumentInteractionController) {
}
func applicationWillResignActive(_ application: UIApplication) {
// Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
// Use this method to pause ongoing tasks, disable timers, and invalidate graphics rendering callbacks. Games should use this method to pause the game.
}
func applicationDidEnterBackground(_ application: UIApplication) {
// Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.
// If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
}
func applicationWillEnterForeground(_ application: UIApplication) {
// Called as part of the transition from the background to the active state; here you can undo many of the changes made on entering the background.
}
func applicationDidBecomeActive(_ application: UIApplication) {
// Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
}
func applicationWillTerminate(_ application: UIApplication) {
// Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
}
}
查看原文:https://www.liuandy.cn/ios/2018/02/05/2315.html
相关文章推荐
- iOS 用其他应用程序打开文件功能如何实现的iOS开发 - CocoaChina CocoaChina_让移动开发更简单
- 编写一个应用程序实现文件的复制。使用格式:java Copy 源文件目标文件,功能是将源文件的内容复制到目标文件。
- ffmpeg系列:使用C++类封装ffmpeg,实现打开视频文件功能
- C#中将某一文件拖向应用程序后打开或进行其它操作的实现
- C#中将某一文件拖向应用程序后打开或进行其它操作的实现
- iOS 用其他应用程序打开文件功能
- iOS 开发 Pch 文件的正确使用1.存放一些全局的宏(整个项目中都用得上的宏) 2.用来包含一些全部的头文件(整个项目中都用得上的头文件) 3.能自动打开或者关闭日志输出功能
- vba使用win32 API(GetOpenFileName )实现打开文件对话框
- 有关Tomcat应用程序目录、端口、默认目录、应用程序默认打开文件、使用数据库连接池等方面的配置
- vba使用win32 API(GetOpenFileName )实现打开文件对话框
- vba使用win32 API(GetOpenFileName )实现打开文件对话框
- 在qtp中使用vb script 实现写文件功能
- vba使用win32 API(GetOpenFileName )实现打开文件对话框
- vba使用win32 API(GetOpenFileName )实现打开文件对话框
- vba使用win32 API(GetOpenFileName )实现打开文件对话框
- vba使用win32 API(GetOpenFileName )实现打开文件对话框
- 有关Tomcat应用程序目录、端口、默认目录、应用程序默认打开文件、使用数据库连接池等方面的配置
- vba使用win32 API(GetOpenFileName )实现打开文件对话框
- vba使用win32 API(GetOpenFileName )实现打开文件对话框
- vba使用win32 API(GetOpenFileName )实现打开文件对话框