2014-12-01 59 views
0

我想使用开源项目 https://github.com/unixpickle/ImageTransfer 在iOS/Xcode上通过蓝牙发送和接收图像。我从github上下载了这个项目,它基于xcode(xcode 6.1),然后尝试在两个iphone 5c上运行(都使用ios 8.0) 当我在两个iphones上启动应用程序时,我收到消息“正在寻找其他iphone或ipod触摸设备) 然后,这是一个空白列表(换句话说“选择一个iPad,iPhone或iPod的触摸窗口”是空的,而我期待它列出另一个iPhone) 正在用于检测很简单(在文件ImageTransferViewController.m)ImageTransfer在iPhone上使用蓝牙

self.mPicker = [[[GKPeerPickerController alloc] init] autorelease]; 
mPicker.delegate = self; 
//mPicker.connectionTypesMask = GKPeerPickerConnectionTypeNearby; 
[mPicker show]; 

这似乎是使用的GameKit来检测其他蓝牙设备的标准方法。 我也明白,GKPeerPickerController一直depreca特德自ios 7.0 这可能是空蓝牙设备检测的原因?这个项目是否有ios8.0或更高版本的端口?是否有解决方法(在较新的iOS(8.1)上使用这个较旧的代码库(我认为它是为iOS 5.0或更早的版本编写的))? Xcode 6.1甚至似乎没有选项将部署目标设置为5.0。

回答

1

就跟进这一点 - 我还没有想出的根本问题是什么,但我提出以下意见

  • 如果我运行一个IOS 7设备上的开源应用程序(而不是IOS 8设备)它工作正常

  • 对于IOS 8设备,如果我修改上述应用程序并将对等发现代码从应用程序的初始化函数中移除到某个其他函数(这被称为说,当一个按钮被按下),对等体发现正常发生。

所以现在我似乎有一种变通方法 - 无论是(A)使用的设备运行iOS 7或更老的(相对于iOS8上)甚至认为的GameKit API是在IOS7过时,它似乎仍然在IOS7设备上工作。或者(b)如果在IOS8设备上运行该应用程序,请从应用程序初始化函数中删除对等发现代码并将其移动到其他位置(最好使其成为IBAction)。换句话说,它适用于IOS8设备,但不一定如预期。 最好是停止使用GameKit框架并最早迁移到多对等连接框架