Можно ли передать настройки WiFi с устройства iOS на объект ExternalAccessory? - PullRequest
31 голосов
/ 11 января 2012

Я слышал, что в iOS 5 появилась функция, с помощью которой устройство iOS может делиться своей конфигурацией Wi-Fi с подключенным аксессуаром через платформу ExternalAccessory. Проблема в том, что я не могу найти какие-либо конкретные подробности о реализации этого типа схемы в документации SDK.

Исходя из моих исследований, я начал подозревать, что это достигается с помощью «Утилиты конфигурации iPhone», но это все еще выглядит как грязный метод для реализации на устройстве.

У кого-нибудь есть идеи?

Как только будут доступны данные по настройке Wi-Fi, должно быть достаточно просто упаковать их и отправить их через устройство ExternalAccessory на устройство, где я соответственно добавлю поддержку протокола.

Спасибо

Ответы [ 5 ]

9 голосов
/ 17 октября 2014

Да!Вы, конечно, можете.Однако, чтобы использовать HomeKit (нужную вам библиотеку), вам сначала нужно быть сертифицированным MFi (созданным для iDevice-iPhone-iPod-iPad) разработчиком.Это дает вам возможность разрешить пользователю просматривать все доступные сети Wi-Fi и выбрать соединение устройства.

Одним из примеров этого являются Withings с их вспомогательным средством для сна Aura.См. Скриншот с информацией об опыте посадки:

enter image description here

Затем пользователь может выбрать безопасный обмен информацией о своем домашнем Wi-Fi с новым устройством.

enter image description here

2 голосов
/ 07 мая 2014

Пользовательский интерфейс пользователя выглядит следующим образом:

enter image description here http://www.theregister.co.uk/2012/07/12/pure_contour_200i_air_airplay_wireless_music_system/

enter image description here https://withings.zendesk.com/hc/en-us/articles/201488707-Wi-Fi-Setup-of-the-Wireless-Scale-WS-30

1 голос
/ 19 июля 2018

Немного поздно, но configureAccessory - это метод (часть ExternalAccessory), представленный в iOS 8.0, который вы можете использовать для настройки Wi-Fi:

https://developer.apple.com/documentation/externalaccessory/eawifiunconfiguredaccessorybrowser/1613907-configureaccessory

Эточасть класса EAWiFiUnconfiguredAccessoryBrowser:

https://developer.apple.com/documentation/externalaccessory/eawifiunconfiguredaccessorybrowser

и showBluetoothAccessoryPicker - это одна для продуктов Bluetooth:

https://developer.apple.com/documentation/externalaccessory/eaaccessorymanager/1613913-showbluetoothaccessorypicker

, котораяявляется частью EAAccessoryManager класса:

https://developer.apple.com/documentation/externalaccessory/eaaccessorymanager

1 голос
/ 22 марта 2012

Вы видели это: iPhone получает SSID без личной библиотеки

Не может ли быть предложено запросить у пользователя приложения пароль защищенной сети?

Вы можете, по крайней мере, получить SSID незащищенной сети и передать его своему устройству с помощью получателя, например:

#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
1 голос
/ 16 марта 2012

Я сомневаюсь, что Apple когда-нибудь позволит среднему разработчику получить доступ к личным данным, таким как настройки Wi-Fi-соединения. Может быть, доверенный сторонний поставщик аксессуаров да, но вы, вероятно, нет.

Настройки Wi-Fi являются частными и содержат пароли. Среднестатистический (не имеющий мощности) пользователь использует более или менее один и тот же / аналогичный пароль для всего, в том числе для своей сети Wifi. Если приложение может легко прочитать, оно может быть плохо использовано.

Так же, как вы не можете получить идентификатор Apple, не говоря уже о пароле.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...