Отображение сети Wi-Fi не работает в зависимости от здания env - PullRequest
0 голосов
/ 05 декабря 2018

Этот вопрос немного общий о создании приложения с xcode для телефона IOS

Я бэкэнд-инженер Go, но недавно в моей компании было разработано мобильное приложение агентства (с React-Native), и мыполучил исходный код.

До сих пор в сборках, в которых они работали, все работало.

Со своей стороны, моя компания попросила меня изменить некоторые значки и повторить сборку для магазина приложений.

В приложении у нас есть экран, который позволяет вам подключаться к Wi-Fi, к которому вы уже подключены, или выводить список доступных сетей:

@implementation WifiManager

//export the name of the native module as 'Wifi' since no explicit name is mentioned
RCT_EXPORT_MODULE();

//exports a method getCurrentWifiName to javascript
RCT_EXPORT_METHOD(getCurrentWifiName:(RCTResponseSenderBlock)callback){
  @try{
    NSString *wifiName = nil;
    NSArray *interFaceNames = (__bridge_transfer id)CNCopySupportedInterfaces();

    for (NSString *name in interFaceNames) {
      NSDictionary *info = (__bridge_transfer id)CNCopyCurrentNetworkInfo((__bridge CFStringRef)name);

      if (info[@"SSID"]) {
        wifiName = info[@"SSID"];
      }
    }
    callback(@[[NSNull null], wifiName]);
  }
  @catch(NSException *exception){
    callback(@[exception.reason, [NSNull null]]);
  }
}

@end

Но эти интерфейсы (wifiname, interfacenames)всегда ноль, когда я компилирую для выпуска с моим xcode (Версия 10.1 (10B61))

Так что мой вопрос, как разработчик не-ios, что я должен искать при сборке с xcode?Есть ли параметр для проверки / снятия флажка?Кроме того, я обнаружил на веб-сайте, что CNCopySupportedInterfaces не должен работать на IOS12, но в зависимости от сборки (агентства / шахты) работает или нет.

Любой может немного объяснить, чтопроисходит?

Большое спасибо!

Ответы [ 2 ]

0 голосов
/ 05 декабря 2018

Я не знаю React, поэтому я не могу комментировать реализацию, но, как правило, симулятор не даст вам точной обратной связи по всем вопросам, связанным с сетью.Существуют способы имитации определенных условий сети, позволяющие проводить грубое тестирование операций, интенсивно работающих в сети, но симулятор - это не что иное, как приложение macOS, поэтому он все еще ограничен базовой архитектурой и ее песочницей.

Это долгий способ сказать, вы должны проверить это на реальном устройстве.

0 голосов
/ 05 декабря 2018

В вашем проекте необходимо включить Доступ к WiFi-информации .

Перейдите к настройкам проекта, выберите вкладку «Возможности» и включите параметр:

enter image description here

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