1.info.plist里追加两个项目,值都是”YES”。
- UIFileSharingEnabled (Application supports iTunes file sharing)
- LSSupportsOpeningDocumentsInPlace (Supports opening documents in place)

2.修改代码。
- 在程序加载时在Documents中创建App专属文件夹和文件。
- 取得App专属文件夹里的文件名list。
import UIKit
import SwiftUI
class SceneDelegate: UIResponder, UIWindowSceneDelegate {
var window: UIWindow?
func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
// Use this method to optionally configure and attach the UIWindow `window` to the provided UIWindowScene `scene`.
// If using a storyboard, the `window` property will automatically be initialized and attached to the scene.
// This delegate does not imply the connecting scene or session are new (see `application:configurationForConnectingSceneSession` instead).
// 在Documents里创建App专属文件夹和文件
let fm = FileManager.default
let documentsPath = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true).first!
let filePath = documentsPath + "/myfile.txt"
if !fm.fileExists(atPath: filePath) {
fm.createFile(atPath: filePath, contents: nil, attributes: [:])
}
// 文件名list取得
let documentDirectoryURL = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)[0]
var files = [""]
do {
let contentUrls = try FileManager.default.contentsOfDirectory(at: documentDirectoryURL, includingPropertiesForKeys: nil)
files = contentUrls.map{$0.lastPathComponent}
print(files) //-> ["test1.txt", "test2.txt"]
} catch {
print(error)
}
// Create the SwiftUI view that provides the window contents.
// 将文件名list传给contentView
let contentView = ContentView(filesNameList: files)
// Use a UIHostingController as window root view controller.
if let windowScene = scene as? UIWindowScene {
let window = UIWindow(windowScene: windowScene)
window.rootViewController = UIHostingController(rootView: contentView)
self.window = window
window.makeKeyAndVisible()
}
}
3.将App文件夹里的文件名显示在画面上。

4.验证导入文件,所以用iPhone手机测试。

5.第一次在手机上加载App,需要在手机上开权限。


6.这是程序启动后的画面,显示了App文件夹下的文件。



7.手机连接Macbook后,可以向App的文件夹里导入需要的文件。这样App就可以访问这些文件了。手机连接以后,需要先同步。
