Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/101.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 使用UIActivityViewController导出CocoaLumberjack日志_Ios_Swift_Cocoalumberjack - Fatal编程技术网

Ios 使用UIActivityViewController导出CocoaLumberjack日志

Ios 使用UIActivityViewController导出CocoaLumberjack日志,ios,swift,cocoalumberjack,Ios,Swift,Cocoalumberjack,过去,在我的一个应用程序中,我允许用户使用UIActivityViewController从设备导出CoCoalLumberJack日志,传入指向用户设备上日志的文件URL数组 然而,即使我(认为我)已经从我的旧应用程序移植了相同的代码,我也无法在设备或模拟器上的UIActivityViewController中显示任何选项。我得到的只是“更多”: 在我的另一个应用程序中,我可以像大多数其他文件一样共享Slack、邮件、文件等 为了试图理解我做错了什么,我创建了一个示例项目,但我仍然遇到同样的

过去,在我的一个应用程序中,我允许用户使用
UIActivityViewController
从设备导出CoCoalLumberJack日志,传入指向用户设备上日志的文件URL数组

然而,即使我(认为我)已经从我的旧应用程序移植了相同的代码,我也无法在设备或模拟器上的UIActivityViewController中显示任何选项。我得到的只是“更多”:

在我的另一个应用程序中,我可以像大多数其他文件一样共享Slack、邮件、文件等

为了试图理解我做错了什么,我创建了一个示例项目,但我仍然遇到同样的问题。代码非常简单,所以我现在对可能出现的问题感到困惑,我知道这是可能的,因为我已经在另一个应用程序中(不知何故)运行了它。以下是示例应用程序中的代码:

AppDelegate.swift
进口椰子木千斤顶
@UIApplicationMain
类AppDelegate:UIResponder、UIApplicationLegate{
变量窗口:UIWindow?
func应用程序(application:UIApplication,didFinishLaunchingWithOptions launchOptions:[UIApplication.launchOptions:Any]?=nil)->Bool{
DDLog.add(DDOSLogger.sharedInstance)
让fileLogger=DDFileLogger()
fileLogger.rollingFrequency=60*60*24
fileLogger.logFileManager.maximumNumberOfLogFiles=7
DDLog.add(文件记录器)
DDLogInfo(“完成发布”)
返回真值
}
}
ViewController.swift
进口椰子木千斤顶
类ViewController:UIViewController{
重写func viewDidLoad(){
super.viewDidLoad()
DDLogInfo(“视图未加载”)
}
覆盖函数视图显示(u动画:Bool){
super.viewdide显示(动画)
guard let fileLogger=DDLog.allLoggers.compactMap({$0 as?DDFileLogger})。首先是{fatalError()}
让logURL=fileLogger.logFileManager.SortedLogFilePath.map{URL(fileURLWithPath:$0)}
let controller=UIActivityViewController(activityItems:[logURLs],应用程序活动:nil)
存在(控制器,动画:真)
}
}

我已经检查了三次日志是否存在于磁盘上,无论是在设备上还是在模拟器上,它们确实存在。如果我检查
logURLs
常量中的URL,我可以导航到磁盘上的日志,甚至可以像打开其他日志一样在控制台中打开它们。

休息一下,看看我之前发布的答案后,我正确地找到了它。它不起作用的原因是,在创建
UIActivityViewController
时,我在另一个数组中传递了一个URL数组

所以这一行:
UIActivityViewController(activityItems:[logURLs],applicationActivities:nil)

应该是:
UIActivityViewController(activityItems:LogURL,applicationActivities:nil)