2014-12-01 71 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框架並最早遷移到多對等連接框架