При использовании реактивных карт в моем приложении React Native iOS, при запуске Expo локально через приложение Expo или iOS Simulator все работает отлично. Вызовы API работают для получения мест, близлежащих мест и остальной части пакета API Google.
Когда я собираю приложение, используя expo build:ios
, и загружаю сгенерированный файл .IPA с помощью Transporter на MacOS в TestFlight - я устанавливаю приложение из TestFlight на свой телефон, и реагируют на встроенные карты, но все мои маркеры исчезли, и результаты не возвращаются при выполнении вызова API поблизости или поиске мест.
Вот мои настройки MapView:
const mapMarkerIcon = require('../../../assets/images/icons/mapMarker/mapMarker.png');
<MapView
ref={(ref) => this._map = ref}
onRegionChangeComplete={(region) => { this.onRegionChangeComplete(region) }}
onMapReady={() => { this.initMap() }}
showsUserLocation={true}
loadingEnabled={true}
style={{
width: Dimensions.get('window').width,
height: Dimensions.get('window').height / 2,
}}>
{this.props.pharmacies && this.props.pharmacies.map((pharm, index) => (
<Marker
coordinate={pharm.coordinates}
key={index}
title={pharm.name}
tracksViewChanges={false}
onPress={this.onMarkerPress(pharm.coordinates)}
onCalloutPress={() => { console.log(pharm) }}
image={mapMarkerIcon}
>
</Marker>
))}
</MapView>
Приложение. json:
"ios": {
"bundleIdentifier": "com.XXXX.XXXX.XXXX", //HIDDEN ON PURPOSE
"config": {
"googleMapsApiKey": "XXXXXXXXXXXXXXXXXXXXXXXXXXX"
},
"infoPlist": {
"NSFaceIDUsageDescription": "This app will optionally use Face ID or Touch ID to save login"
},
"supportsTablet": true
},
Опять же, это прекрасно работает при локальном запуске в приложении Expo или на симуляторе, на котором выполняется приложение Expo, но не работает и не возвращает результатов при публикации в TestFlight.
Запуск в Expo App / Локально После установки из TestFlight / Опубликовано в App Store Connect