从 iPhone 应用程序通过蓝牙传输文件

Posted

技术标签:

【中文标题】从 iPhone 应用程序通过蓝牙传输文件【英文标题】:file transfer via bluetooth from IPhone app 【发布时间】:2012-01-13 05:42:45 【问题描述】:

在我的应用程序中,我想通过蓝牙将文件发送到另一台 ios 设备。

我不想从应用商店安装任何使用蓝牙功能的应用。

我想在我的应用中实现蓝牙功能,一旦连接意味着它会列出可用的 iOS 设备(支持蓝牙的设备)并通过蓝牙将文件发送到选定的设备。

这可能吗?我不知道从哪里开始..

请在这方面提供帮助..如果有任何示例代码对我很有帮助..

谢谢!!!

【问题讨论】:

【参考方案1】:

您可以为此使用 iOS CoreBluetooth 框架,您可以通过将其转换为 NSData 来发送任何类型的数据。

你可以在这里找到 Apple 的演示项目 -> Demo Project

PS:如果您的项目没有处理太多复杂性,那么您还可以在 Github 上查看 l0gg3r 名为 LGBluetooth 的强大库。很简单!

干杯!

【讨论】:

链接在哪里? 不确定链接发生了什么,我现在已经更新了答案。【参考方案2】:

GameKit 可能是一个很好的起点,因为它支持点对点连接 http://developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/GameKit_Guide/Introduction/Introduction.html

不确定 GameKit api 是否支持发送文件,文档中有这样的说法: 注意:允许的最大消息大小为 87 KB。如果您需要发送更多信息,则必须将数据拆分为多条消息。

这里还有一些相关的问题: iPhone: Sending large data with Game Kit Send and receive NSData via GameKit Using GameKit to transfer CoreData data between iPhones

【讨论】:

【参考方案3】:

您必须实施 OBEX 协议 FTP(文件传输配置文件)才能从其他设备推/拉 .... 文件 :) 这并不容易!!

【讨论】:

以上是关于从 iPhone 应用程序通过蓝牙传输文件的主要内容,如果未能解决你的问题,请参考以下文章

Android:如何通过蓝牙浏览远程设备文件系统?

三星手机蓝牙接收的东西存在哪里了?

手机通过蓝牙传文件用的啥协议?

Netty如何传输文件

手机蓝牙连接其他手机,传输文件时,怎么找到对方设备

在外部蓝牙设备和 Android 手机之间传输音频