Ios 检测通过lightning端口连接到iPhone的设备

Ios 检测通过lightning端口连接到iPhone的设备,ios,swift,iphone,Ios,Swift,Iphone,我有一个带旧文件系统(fat12)的旧记忆棒(或者一个可以使用相同的工具)。在这个设备上,有几个文件保存为pdf、png或其他格式,这真的很重要。应用程序的目标应该是从通过lighning端口适配器连接的设备中读取所有文件,下载文件,并保存它们,以便通过应用程序查看或将其上传到某处。(类似于苹果的内置文件应用程序) 我面临的第一个问题是如何检查我的iPhone是否连接了某些东西?我看到一条建议检查手机是否正在充电的线索,不幸的是,这条线索不起作用,因为gadged在连接时不给手机充电 一种方法是

我有一个带旧文件系统(fat12)的旧记忆棒(或者一个可以使用相同的工具)。在这个设备上,有几个文件保存为pdf、png或其他格式,这真的很重要。应用程序的目标应该是从通过lighning端口适配器连接的设备中读取所有文件,下载文件,并保存它们,以便通过应用程序查看或将其上传到某处。(类似于苹果的内置文件应用程序)

我面临的第一个问题是如何检查我的iPhone是否连接了某些东西?我看到一条建议检查手机是否正在充电的线索,不幸的是,这条线索不起作用,因为gadged在连接时不给手机充电

一种方法是尝试使用UIDocumentPicker。它的工作原理是我可以从usb访问文件,但这里的问题是,我不希望用户能够通过与lightning适配器连接的文件浏览手机上的所有文件,这应该在用户插入手机并点击“下载文件”按钮时自动发生

我没有太多可以展示的代码,只有四行是关于UIDocumentPicker的:

    @IBAction func getFilesButtonClicked(_ sender: Any) {
    let documentPicker =
        UIDocumentPickerViewController(documentTypes: ["public.data"],
                                       in: .open)
    documentPicker.delegate = self
    documentPicker.modalPresentationStyle = .fullScreen
    self.present(documentPicker, animated: true, completion: nil)
}

有一个框架,它可以得到附件连接或断开的通知。

应用程序无法直接访问照明端口上的设备,除非该设备通过mfi认证并链接到您的应用程序。您必须使用文档选择器视图控制器,或者用户可以使用文件应用程序。