2012-10-31 26 views
0

我有一些困難越來越ExternalAccessory運行我的iPod ...依奧斯ExternalAccessory藍牙問題

我在Java中有一個bluecove藍牙監聽器運行在我的電腦(MAC,山獅)上(代碼在這裏:http://pastebin.com/j6Eu0H66 ),並且我已經成功將我的iPod與我的電腦配對。但是,當我有我的ipod列表:

[[EAAccessoryManager sharedAccessoryManager] connectedAccessories]; 

我什麼也得不到,但蟋蟀。我假設這是因爲我沒有在我的info.plist中設置任何有效的配件 - 但問題是,我不知道我應該輸入什麼!

有沒有人有任何想法,爲什麼我不能通過EAAccessoryManager找到我的電腦,有沒有人有任何想法什麼分類爲有效的協議?我無法找到實際寫入協議的文檔。

P.S.作爲該項目的早期,我嘗試配對我的電腦上通過的LeJOS我的NXT,但是我碰到了這樣的問題:

https://groups.google.com/forum/?fromgroups=#!topic/bluecove-users/7jWv1V1GC-4

其結果是,我使用的黑客貼出後一對夫婦的意見第一個,並用Lion IOBluetooth.framework替換了我的Mountain Lion IOBluetooth.framework。我不確定這是否會對iOS的某些方面產生巨大影響,但我想我應該讓你們知道。

P.S.S.我用來打印出附件列表的代碼:請注意,它現在還沒有返回任何東西,也沒有使用protocolString。

我得到「Testing123」日誌,但不是「設備!」登錄

- (EASession *)openSessionForProtocol:(NSString *)protocolString 
{ 


    NSLog(@"Testing123"); 
    NSArray *accessories = [[EAAccessoryManager sharedAccessoryManager] 
          connectedAccessories]; 
    EAAccessory *accessory = nil; 
    EASession *session = nil; 




    for (EAAccessory *obj in accessories) 
    { 
     NSLog(@"Device!"); 
     /* 
     if ([[obj protocolStrings] containsObject:protocolString]) 
     { 
      accessory = obj; 
      break; 
     } 
     */ 
    } 

    return NULL; 
} 

而且,這裏是我的Info.plist的截圖:

enter image description here

+2

外部附件框架只適用於那些MFI兼容的,不是通用配對的藍牙配​​件配件。我懷疑你將能夠使用這個框架來連接你的Mac和iOS設備。 –

+0

你好!在這種情況下,我應該使用什麼來連接我的iOS設備和Mac筆記本電腦? –

+0

WiFi是一種選擇嗎?如果是這樣,Bonjour使設備發現變得簡單。如果您的iOS設備和Mac支持Bluetooth LE,則可以使用Core Bluetooth在它們之間進行通信。 –

回答

0

我不知道什麼是你的目標你的iPod連接到您的電腦,但如果你只是試圖改變iOS和計算機之間的一些信息Bonjour是一種簡單而有趣的方式來完成這項工作。使用bonjour你有一些優點,如連接到Windows PC甚至Android設備。

如果你有/想使用藍牙功能,這將是一個困難的工作,因爲iOS的ExternalAccessory框架只與符合MFI-,像@Brad拉森說配件工作。藍牙LE是一個選項,如果你的電腦支持它,所以你的iPod,但BLE協議是爲了支持數據傳輸的只有很少的量,你將不得不剝離您在小塊的數據發送和設備間接受他們,對和記得自己配對的設備等,但它是一個答案的另一個問題...

不幸的是,在你的情況,我不認爲bluthoot是一個好的選擇,但在另一方面,你必須給看看Bonjour,這也很容易使用。

無論如何希望它有幫助。