Resources Bridge
是一个用于从 iOS 设备向 Mac 发送文件和请求文件的工具。可以像访问 iPhone 上的文件一样,以同步方式读取和写入 Mac 上的文件。
5.2
11.0
10.13
.package(url: "https://github.com/eugenebokhan/ResourcesBridge.git",
.upToNextMinor(from: "0.0.4"))
首先,你需要在 Mac 上启动 Monitor
应用程序。它用于接收和发送来自 iOS 设备的文件,并处理所有本地文件管理。
在 Monitor
应用程序启动后,你可以在 iPhone 或 iPad 上调用以下函数之一
初始化桥接 (Init Bridge)
let bridge = try ResourcesBridge()
启动会话并尝试自动连接到 Monitor
bridge.tryToConnect()
中止连接并停止会话
bridge.abortConnection()
同步等待连接
try bridge.waitForConnection()
在 Mac 上写入资源
bridge.writeResource(_ resource: Data,
at remotePath: String,
progressHandler: ((Double) -> Void)? = nil) throws
progressHandler
: read
/ write
函数设计为同步的,但你可以传递一个进度处理程序 (progress handler),它将在另一个调度队列 (dispatch queue) 上报告进度,用于调试目的。remotePath
是 Mac 上文件的绝对路径。从 Mac 读取资源
逻辑与 write
函数类似。
bridge.readResource(at remotePath: String,
progressHandler: ((Double) -> Void)? = nil) throws -> Data
为了使 Resources Bridge
在 iOS 14 上运行时工作,你必须在应用程序的 Info.plist 文件中包含两个键。这些键是 Privacy - Local Network Usage Description
(NSLocalNetworkUsageDescription
) 和 Bonjour services
(NSBonjourServices
)。对于隐私键,请包含一段人类可读的描述,说明允许你的应用程序访问本地网络上的设备对用户有什么好处。 Bonjour services 键是你的应用程序将浏览的服务类型数组。对于 Resources Bridge
,此键的值应为 _ResourcesBridge._tcp
。
如果你未正确配置上述键,则 Resources Bridge
将无法工作。
此项目基于 Bonjour
框架。你可以使用它来进行 🍏 设备之间的异步通信和文件传输。
MIT