2011-11-02 13 views

Odpowiedz

5

UWAGA: ta odpowiedź jest już nieaktualna, podobnie jak w przypadku wprowadzenia CoreBluetooth (Bluetooth LE v4), ponieważ iOS6 i OSX 10.7 każde urządzenie iOS jest otwarte na wszelkiego rodzaju komunikację z dowolnym innym urządzeniem kompatybilnym z BLE, komputerem Mac lub PC sprzęt zewnętrzny. Poniższa odpowiedź jest nadal ważna, jeśli nie można wspierać BLE, ze względu na starym hw lub specyficzne wymagania (np wymaganej przepustowości)

O ile wiem, jest to prawie niemożliwe. Połączenie Bluetooth pomiędzy urządzeniami z iOS jest dobrze obsługiwane w środowisku GameKit, ale nie zapewnia obsługi połączenia z innymi systemami, w tym z OSX. Jedynym połączeniem między komputerem Mac i iPHone, jaki kiedykolwiek widziałem, jest funkcja hotspot (gdy działa). Weźmy na przykład aplikację Keynote Remote. Ta aplikacja pozwala kontrolować prezentację Keynote przy użyciu iPhone'a jako pilota. Pozwala to na kontrolę, gdy dwa urządzenia są sparowane Keynote na WiFi, ale to połączenie jest niedozwolone przez Bluetooth, podczas gdy z Bluetooth możesz sterować prezentacją Keynote między dwoma urządzeniami z iOS. I można znaleźć to oświadczenie w Apple tech nocie 2152:

An important consequence of the first point is that Bluetooth peer-to-peer networking can only be used to communicate between iOS devices; you can't use it, for example, to communicate between an iOS device and a computer running Mac OS X.

Jeśli chodzi o pytanie, WiFi (zapomniałem odpowiedzieć na moje pierwsze pytanie) zasadniczo Ci rodzaju problemy do rozwiązania: ujawniania i przekazywania danych . Aby określić, czy dwa urządzenia znajdują się w tej samej sieci, możesz użyć protokołu Bonjour. Zasadniczo jedna z maszyn publikuje się jako dostawca usług dla określonej usługi (możesz stworzyć własną usługę: np. "_tytype._myprotocol"), a potencjalny klient wyszuka serwer. Poza tym Bonjour zajmuje się innymi kwestiami, takimi jak adresowanie i DNS bez dwóch aplikacji, aby poznać szczegóły lokalnej sieci. Wyjaśniono to w dokumentach Apple tutaj: http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/NetServices/Articles/about.html Należy pamiętać, że Bonjour jest u podstaw funkcji takich jak AirPlay (Apple TV), AirPrint i prawdopodobnie również AirDrop, ale jest obsługiwany przez wiele urządzeń, np trochę NAS. W sekcji SampleCodes na stronie dla programistów Apple znajdziesz świetny przykład o nazwie "BonjourWeb", który pokazuje, jak działa wykrywanie usług. Możesz go łatwo wypróbować w swoim symulatorze lub urządzeniu iPhone, a jeśli masz urządzenie z włączoną obsługą Bonjour, zobaczysz je na liście. Drugi problem to naturalna komunikacja danych między dwoma urządzeniami. Możesz zdefiniować niestandardowego klienta/serwer lub użyć standardowego podejścia opartego na serwerze WWW. To zależy od aplikacji i przepływu danych. Pierwsze podejście jest lepsze, ponieważ jest wysoce spersonalizowane, musisz przestudiować koncepcje NetworkStreams i sprawdzić kod SimpleNetworkStreams w bibliotece Apple (jest to prosta aplikacja komunikacyjna między komputerem Mac i telefonem iPhone, nie zawsze działa, ale jest dobrym początkiem punkt)

+0

thansk! ale w jaki sposób mogę sparować dwa urządzenia? – rafa

+0

Twoja odpowiedź jest bardziej komentarzem. Pytanie brzmi: jak można, nie jest to możliwe. – Mark

+2

Pierwszą odpowiedzią był komentarz wyjaśniający: jeśli nie jest to możliwe, nie można. W każdym razie dodałem do tego wniosek, żeby było jasne. Dodałem również szczegóły do ​​drugiej części pytania, które ostatnio przeoczyłem. – viggio24

Powiązane problemy