volga-volga / react-native-yamap

React Native Yandex Maps | Яндекс Карты | Yandex.MapKit implementation for react native | YandexMaps
144 stars 80 forks source link

Не работает на IOS #190

Open Sergey-lang opened 1 year ago

Sergey-lang commented 1 year ago

На андройд работает.

IOS 14.4 Simulator инициализировать MapKit в функции didFinishLaunchingWithOptions - слелано(вместо API_KEY вставлен свой ключ) в папке iOS запущена команда pod Install, затем удалена папка build и проект собран заново Результат: ничего не происходит

Снимок экрана 2022-09-15 в 09 56 57
Sergey-lang commented 1 year ago
Снимок экрана 2022-09-15 в 09 59 56

На андройд работает.

IOS 14.4 Simulator инициализировать MapKit в функции didFinishLaunchingWithOptions - слелано(вместо API_KEY вставлен свой ключ) в папке iOS запущена команда pod Install, затем удалена папка build и проект собран заново Результат: ничего не происходит Снимок экрана 2022-09-15 в 09 56 57

import { Suggest } from 'react-native-yamap';

const findAddress = async (query: string) => {
    const suggestions = await Suggest.suggest(query);
    Suggest.reset();
    return suggestions;
  };
Muvka commented 1 year ago

На андройд работает.

IOS 14.4 Simulator инициализировать MapKit в функции didFinishLaunchingWithOptions - слелано(вместо API_KEY вставлен свой ключ) в папке iOS запущена команда pod Install, затем удалена папка build и проект собран заново Результат: ничего не происходит Снимок экрана 2022-09-15 в 09 56 57

У вас сетка на белом фоне? У меня тоже. Помогает свернуть и развернуть приложение на экране с картой (такой себе способ конечно). И после этого даже при перезапуске приложения работает. Но при этом часто приложение начинает вылетать при переходе на экран с картой.

Sergey-lang commented 1 year ago

На андройд работает. IOS 14.4 Simulator инициализировать MapKit в функции didFinishLaunchingWithOptions - слелано(вместо API_KEY вставлен свой ключ) в папке iOS запущена команда pod Install, затем удалена папка build и проект собран заново Результат: ничего не происходит Снимок экрана 2022-09-15 в 09 56 57

У вас сетка на белом фоне? У меня тоже. Помогает свернуть и развернуть приложение на экране с картой (такой себе способ конечно). И после этого даже при перезапуске приложения работает. Но при этом часто приложение начинает вылетать при переходе на экран с картой.

import { Suggest } from 'react-native-yamap'; Я не использую карту,я хочу вывести подсказку адресов.

roman-ananiev commented 1 year ago

аналогичное поведение. на адроид работает на iOS приложение открывается, карта не появляется (сетка видна и кнопки управления на несколько секунд) и закрывается приложение. Есть варианты?

AlexanderRusak commented 1 year ago

Карта не отображается на IOS emulator, а также ничего не происходит при запросе для Suggest! С андроид проблем не обнаружил

AlexanderRusak commented 1 year ago

аналогичное поведение. на адроид работает на iOS приложение открывается, карта не появляется (сетка видна и кнопки управления на несколько секунд) и закрывается приложение. Есть варианты? https://github.com/volga-volga/react-native-yamap/issues/45#issuecomment-1273844746

AlexanderRusak commented 1 year ago

https://github.com/volga-volga/react-native-yamap/issues/45#issuecomment-1273844746

AlexanderRusak commented 1 year ago

аналогичное поведение. на адроид работает на iOS приложение открывается, карта не появляется (сетка видна и кнопки управления на несколько секунд) и закрывается приложение. Есть варианты?

arch -x86_64 pod install использование старой архитектуры позволяет избавится от вылета эмулятора

labtorie commented 1 year ago

То же самое. Карта и Suggest не работают при запуске приложения, раньше такого не было. На карте просто грид. Но стоит дернуть шторку уведомлений, чтоб апп перешел в фон и обратно, и все сразу начинает работать

kotano commented 1 year ago

Спустя несколько часов попыток завести эту штуку нормально наконец-то получилось, не уверен, что именно помогло, т.к. решил, что раз работает то лучше не трогать больше. Опишу немного, что сделал:

  1. Инициализировал либу в нативном коде.

AppDelegate.mm:

  [YMKMapKit setApiKey:@"API_KEY"];
  [YMKMapKit setLocale:@"ru_RU"];
  [YMKMapKit mapKit];

  [super application:application didFinishLaunchingWithOptions:launchOptions];

  return YES;

Именно в таком порядке.

  1. Инициализировал библиотеку там, где точка входа в приложение, перед всем остальным.

index.js

import { registerRootComponent } from 'expo';
import YaMap from 'react-native-yamap';
YaMap.init('API_KEY');
...
registerRootComponent(App);

Вроде все.

P.S.

Версии библиотек:

    "expo": "~46.0.17",
    "react": "18.0.0",
    "react-native": "0.69.6",
    "react-native-yamap": "^4.1.14"
Sergey-lang commented 1 year ago

@kotano и работает на ios?

kotano commented 1 year ago

@kotano и работает на ios?

@Sergey-lang Проверял на симуляторе, работает

nomoreerrors commented 1 year ago

Спустя несколько часов попыток завести эту штуку нормально наконец-то получилось, не уверен, что именно помогло, т.к. решил, что раз работает то лучше не трогать больше. Опишу немного, что сделал:

  1. Инициализировал либу в нативном коде.

AppDelegate.mm:

  [YMKMapKit setApiKey:@"API_KEY"];
  [YMKMapKit setLocale:@"ru_RU"];
  [YMKMapKit mapKit];

  [super application:application didFinishLaunchingWithOptions:launchOptions];

  return YES;

Именно в таком порядке.

  1. Инициализировал библиотеку там, где точка входа в приложение, перед всем остальным.

index.js

import { registerRootComponent } from 'expo';
import YaMap from 'react-native-yamap';
YaMap.init('API_KEY');
...
registerRootComponent(App);

Вроде все.

P.S.

  • Ключ Yandex Mapkit
  • Ejected Expo SDK 46
  • Запускаю под Rosetta

Версии библиотек:

    "expo": "~46.0.17",
    "react": "18.0.0",
    "react-native": "0.69.6",
    "react-native-yamap": "^4.1.14"

Отлично. Заработало на android. Подключил в index.js, потом ./gradlew clean run-android. Больше ничего не делал.