peertalk
PeerTalk 是一个用于通过 USB 通信的 iOS 和 Mac Cocoa 库。
┌──────────────────────────────┐
│ ┌──────────────────────────┐ │
│ │ │ │
┌─────────┐ │ │ │ │
│┌───────┐│ │ │ Hello │ │
││ ││ │ │ │ │
││ Hello ││ │ │ │ │
││ ││ │ │ │ │
│└───────┘│ │ └──────────────────────────┘ │
│ ⃝ │ \ ─────────────────────────── \
└────╦────┘ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
║ ╔══════════■ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
╚═════════╝ \ ─────────────────────────── \
- meep - └─────────────────────────────┘
- beep -
亮点
-
提供 USB 设备连接/断开事件和连接设备的信息
-
可以连接到支持设备上的 TCP 服务(例如 iPhone),在 USB 传输上桥接通信
-
提供高级 API(PTChannel 和 PTProtocol),方便实现
-
经过测试,专为 libdispatch(即 Grand Central Dispatch)设计
从 https://github.com/rsms/peertalk 捕获精华
在 Apple App Store 中的应用
PeerTalk 已在 iOS 和 OS X 应用商店成功发布。
例如,Duet Display,这是一款精彩的软件,允许您使用 lightning 或 30 针电缆将您的 iDevice 作为 Mac 的额外显示器。
Facebook 的 Origami 使用 PeerTalk 为其 Origami Live iOS 应用程序(实际上, PeerTalk 就是首次使用,在 2012 年)
这 可能 意味着您可以针对 App Store 的应用程序使用 PeerTalk。
开始使用
下载代码,在OS X 10.7或更高版本的Xcode 4.3或更高版本中打开peertalk.xcodeproj。
-
选择"peertalk"目标,按Cmd+U(产品 → 测试),验证单元测试是否通过。
-
选择"Peertalk Example"目标,按Cmd+R(产品 → 运行)。你应该看到一个不太美观的,标准窗口,上面有一些文字说明它已准备就绪。这就是你正在查看的OS X示例应用。
-
在Xcode中,选择用于iPhone Simulators的"Peertalk iOS Example"目标,并按Cmd+R(产品 → 运行)。现在应该有一些动作发生。尝试在OS X应用和运行的iPhone模拟器应用之间发送一些消息。
-
连接您的iOS设备(iPhone、iPod或iPad),关闭iPhone模拟器,回到Xcode。选择连接的iOS设备的"Peertalk iOS Example"目标。按Cmd+R(产品 → 运行)来构建并运行样本应用在您的设备上。
它应该工作。
演示视频:[http://www.youtube.com/watch?v=kQPWy8N0mBg](http://www.youtube.com/watch?v=kQPWy8N0mBg)
<iframe width="880" height="530" src="http://www.youtube.com/embed/kQPWy8N0mBg?hd=1&rel=0" frameborder="0" allowfullscreen></iframe>macOS沙盒模式
在https://github.com/rsms/peertalk/issues/36#issuecomment-596450033中,@Lessica建议以下权限代码片段,允许macOS访问peertalk
<key>com.apple.security.temporary-exception.sbpl</key>
<array>
<string>(allow network-outbound (literal "/private/var/run/usbmuxd"))</string>
</array>