README
react-native-edosoft-arcgis-mapview
Getting started
$ npm install react-native-edosoft-arcgis-mapview --save
Mostly automatic installation
$ react-native link react-native-edosoft-arcgis-mapview
Usage
import RnEdosoftArcgisMapview from 'react-native-edosoft-arcgis-mapview';
// TODO: What to do with the module?
RnEdosoftArcgisMapview;
Android
Añadir al build.gradel de la raíz del proyecto las siguientes líneas:
// ...
allprojects {
// ...
repositories {
// ...
maven {
// ArcGIS maps
url 'https://esri.jfrog.io/artifactory/arcgis'
}
}
}
Añadir al build.gradle de la aplicación las siguientas líneas:
android {
// ...
defaultConfig {
// ...
ndk {
abiFilters "armeabi", "armeabi-v7a", "x86", "mips"
}
}
// ...
packagingOptions {
pickFirst 'lib/x86/libc++_shared.so'
pickFirst 'lib/x86_64/libc++_shared.so'
pickFirst 'lib/armeabi-v7a/libc++_shared.so'
pickFirst 'lib/arm64-v8a/libc++_shared.so'
}
}
dependencies {
// ...
implementation 'com.esri.arcgisruntime:arcgis-android:100.11.0'
}
iOS
Si el proyecto donde se utiliza como dependencia este paquete, no utiliza swift, debemos abrir dicho proyecto con xcode. Añadimos un nuevo archivo donde queramos, por ejemplo en la carpeta raiz del código fuente dentro de la carpeta ios. Lo llamamos como queramos, pues no es importante. Al crearlo, Xcode nos preguntará si deseamos crear un Bridging Header, le decimos que sí.
Posible errores y sus soluciones:
Si obtenemos un error del tipo:
Undefined symbols for architecture x86_64:
_swift_getTypeByMangledNameInContextInMetadataState", referenced from:
debemos buscar en la carpeta del proyecto y sustituir
LIBRARY_SEARCH_PATHS = (
...
"\"$(TOOLCHAIN_DIR)/usr/lib/swift-5.0/$(PLATFORM_NAME)\"",
"\"$(inherited)\"",
);
POR
LIBRARY_SEARCH_PATHS = (
...
"\"$(TOOLCHAIN_DIR)/usr/lib/swift-5.2/$(PLATFORM_NAME)\"",
"\"$(inherited)\"",
);