2012-01-11 5 views
30

Słyszałem, że iOS 5 wprowadził funkcję, w której urządzenie z systemem iOS może współdzielić konfigurację Wi-Fi z zadokowanym dodatkiem za pośrednictwem architektury ExternalAccessory. Problem polega na tym, że nie mogę znaleźć żadnych szczegółowych informacji na temat wdrażania tego typu schematów w dokumentach SDK.Czy możesz przekazywać ustawienia WiFi z urządzenia iOS do obiektu ExternalAccessory?

Z moich badań zacząłem podejrzewać, że zostało to osiągnięte za pomocą "iPhone Configuration Utility", ale nadal wydaje się, że jest to trochę nieporządna metoda do wdrożenia na urządzeniu.

Ktoś ma jakieś pomysły?

Gdy dane konfiguracji wifi są dostępne, powinno być dość łatwo je spakować i wysłać za pośrednictwem architektury ExternalAccessory do urządzenia, gdzie będę odpowiednio budować obsługę protokołu.

Dzięki

+1

Jestem teraz pochylony w kierunku funkcji CNCopyCurrentNetworkInfo w interfejsie CaptiveNetwork. – njt

+0

[CaptiveNetwork] (http://developer.apple.com/library/ios/#documentation/SystemConfiguration/Reference/CaptiveNetworkRef/Reference/reference.html) reference – njt

+0

Nie sądzę, że to jest możliwe – Francesco

Odpowiedz

1

Wątpię Apple będzie kiedykolwiek pozwolić dla przeciętnego developera dostępu do prywatnych danych, takich jak ustawienia połączeń WiFi. Może zaufany dostawca akcesoriów zewnętrznych tak, ale prawdopodobnie nie.

Ustawienia Wi-Fi są prywatne i zawierają hasła. Przeciętny (nie zasilany energią) użytkownik używa mniej więcej takiego samego/podobnego hasła do wszystkiego, łącznie z siecią Wi-Fi. Jeśli aplikacja może łatwo przeczytać, że może być źle wykorzystana.

W ten sam sposób nie można uzyskać identyfikatora Apple, nie mówiąc już o haśle.

+4

To istnieje w iOS 5. Nigdy nie chciałem czytać danych, wystarczy przekazać go do MCU hosta. To działa teraz w moim produkcie. – njt

+0

Właśnie zacząłem zaglądać do tego samego produktu, mam problemy, które wydawałeś. Czy jesteś w stanie podać jakieś wskazówki? –

+0

Nie bez złamania 2 NDA Obawiam się. Jeśli masz licencję MFi, powinieneś być w stanie to znaleźć. – njt

1

Widzieliście to: iPhone get SSID without private library

Czy monitowania użytkownika aplikacja do zabezpieczonego hasłem sieciowym wchodzi w rachubę?

można przynajmniej dostać SSID niezabezpieczonej sieci i przekazać go do akcesoriów z pochłaniacza coś takiego:

#import <SystemConfiguration/CaptiveNetwork.h> 


@implementation DeviceWifiSSID 

//https://stackoverflow.com/a/5198968/614688 
+(NSString *)deviceSSID 
{ 
    NSArray *ifs = (__bridge id)CNCopySupportedInterfaces(); 


    id info = nil; 
    for (NSString *ifnam in ifs) { 
     info = (__bridge id)CNCopyCurrentNetworkInfo((__bridge CFStringRef)ifnam); 

     if ([info objectForKey:@"SSID"] != nil) 
     { 
      return [info objectForKey:@"SSID"]; 
     } 
    } 


    return nil; 
} 

@end 
2
+0

Witam, Zarejestrowałem się w programie MFI, a teraz próbuję odczytać sieci Wi-Fi. Ale ponieważ nie korzystałem wcześniej z zestawu domowego, nie mam sposobu, aby odczytać sieci Wi-Fi. Czy istnieje jakikolwiek samouczek lub próbki do osiągnięcia tego samego. Proszę, podziel się tym – shasha

7

Tak! na pewno możesz. Jednak, aby użyć HomeKit (potrzebnej biblioteki), musisz najpierw uzyskać certyfikat: MFi (Made for iDevice-iPhone-iPod-iPad). Daje to użytkownikowi możliwość przeglądania wszystkich dostępnych sieci Wi-Fi i łączenia urządzenia.

Jednym z przykładów jest Withings z pomocą Aura na sen. Zobacz zrzut ekranu z doświadczeń z internatem:

enter image description here

Następnie użytkownik może wybrać, aby dzielić się informacjami domu wifi pewnie z nowym urządzeniem.

enter image description here

+0

Zła wiadomość jest taka, że ​​uzyskanie zatwierdzenia to trochę proces. Będzie to wymagało wiele wysiłku dla małej firmy, ale z pewnością jest warte tego dla użytkownika końcowego. Zapewnia bardziej profesjonalny, bezproblemowy proces konfiguracji - prawie taki sam, jakiego użyjesz podczas konfigurowania urządzenia Gen 4 AppleTV! –

Powiązane problemy