Fehler in react-native-gesture-handler

NUR beim Ausführen der nativen App kommt es zu dem Fehler. Während der Entwicklung fällt der Fehler nicht auf.

Nachvollziehen kann man den Fehler, bevor man einen Releasbuild in der Expo-Cloud macht, auch schon durch einen lokalen Build. So spart man sich Zeit und vorallem Buildkontingent im Free-Plan von Expo.

Dafür macht man den Prebuild, startet das Projekt (.workspace-Datei !) in XCode und führt es am besten im Simulator aus. Dabei kommt es zu folgendem Fehler:

ERROR TypeError: Cannot read property 'dropGestureHandler' of nullCode-Sprache: JavaScript (javascript)

Der Stack in dem Fall dazu war:

This error is located at:
in PanGestureHandler (created by PanGestureHandler)
in PanGestureHandler (created by Card)
in RCTView (created by View)
in View
in Unknown (created by Card)
in RCTView (created by View)
in View (created by Card)
in Card (created by CardContainer)
in CardContainer (created by CardStack)
in RNSScreen
in Unknown (created by InnerScreen)
in Suspender (created by Freeze)
in Suspense (created by Freeze)
in Freeze (created by DelayedFreeze)
in DelayedFreeze (created by InnerScreen)
in InnerScreen (created by Screen)
in Screen (created by MaybeScreen)
in MaybeScreen (created by CardStack)
in RNSScreenContainer (created by ScreenContainer)
in ScreenContainer (created by MaybeScreenContainer)
in MaybeScreenContainer (created by CardStack)
in RCTView (created by View)
in View (created by Background)
in Background (created by CardStack)
in CardStack (created by HeaderShownContext)
in RNCSafeAreaProvider (created by SafeAreaProvider)
in SafeAreaProvider (created by SafeAreaInsetsContext)
in SafeAreaProviderCompat (created by StackView)
in RCTView (created by View)
in View (created by GestureHandlerRootView)
in GestureHandlerRootView (created by StackView)
in StackView (created by StackNavigator)
in PreventRemoveProvider (created by NavigationContent)
in NavigationContent
in Unknown (created by StackNavigator)
in StackNavigator (created by AppNavigator)
in EnsureSingleNavigator
in BaseNavigationContainer
in ThemeProvider
in NavigationContainerInner (created by AppNavigator)
in RCTView (created by View)
in View (created by AppNavigator)
in AppNavigator (created by Connect(AppNavigator))
in Connect(AppNavigator) (created by App)
in Provider (created by App)
in App (created by withDevTools(App))
in withDevTools(App)
in RCTView (created by View)
in View (created by AppContainer)
in RCTView (created by View)
in View (created by AppContainer)
in AppContainer
in main(RootComponent), js engine: hermes

Das Problem ist, dass die Expo-Mitinstallierte Version des Packages sich offensichtlich von der offiziellen Version unterscheidet. In dem Fall ist die Bibliothek React Navigation auch von dem Package abhängig und kommt mit der Expo-Version nicht klar.

LÖSUNG:

Unter node_modules den Ordner react-native-gesture-handler löschen und mit bspw. Yarn als Dependency hinzufügen:

yarn add react-native-gesture-handler

iOS Simulator + Charles Web Debugging Proxy

Um SSL Datenverkehr aus dem iOS Simulator auf dem Charles Web Debugging Proxy zu monitoren muss das Charles Zertifikat auf dem Simulator als „vertrauenswürdig“ eingestellt werden.

Dafür speichert man das Zertifikat auf dem Rechner und zieht es danach auf den Simulator

Wichtig: Wenn das Zertifikat abgelaufen Seitn sollte, muss man über „Reset Charles Root Certificate…“ im gleichen Menü ein neues erstellen und auf alle Clients aktualisieren!

A valid provisioning profile for this executable was not found

Wenn das Problem auftritt, muss in den Project Setting das Build System von „New Build System“ auf „Legacy Build System“ umgestellt werden:

 

Xcode 10: A valid provisioning profile for this executable was not found

Xcode 10: A valid provisioning profile for this executable was not found

Since yesterday I’ve been getting the following error when trying run an app on my device: „A valid provisioning profile for this executable was not found.“. This is after updating to Xcode 10. Bui…

Source: https://stackoverflow.com/questions/52424462/xcode-10-a-valid-provisioning-profile-for-this-executable-was-not-found#52434756

Xcode has conflicting provisioning settings

Die Lösung ist unter Project Target > Build Settings > Suchfenster nacht PROVISIONING_PROFILE zu suchen und alle Profile zu löschen.

Xcode has conflicting provisioning settings

Xcode has conflicting provisioning settings

I have an Ionic 2 app, which builds and is testable in Xcode 8.2.1 Simulator environment, e.g. iPhone7 (Build Successful). When I try Archive the app to create an ipa file to set on a device, I fo…

Source: https://stackoverflow.com/questions/42885122/xcode-has-conflicting-provisioning-settings#53957176

Cordova Apps und iOS Bounce Effekt

Seit iOS 11.3 sind alle Apps mit einem Bounce-Effekt beim scrollen versehen. Das wirkt sicht negativ auf Cordova-Apps aus, da diese nur im Webview scrollen sollen.

Dafür muss in der config.xml von Cordova folgendes eingefügt werden:

<preference name="DisallowOverscroll" value="true" />
<preference name="UIWebViewBounce" value="false" />

Danach muss die App mit cordova build ios neu kompiliert werden.

Disable iOS Scroll Bounce/OverScroll in Cordova Apps | Mahdi Hazaveh

Disable iOS Scroll Bounce/OverScroll in Cordova Apps | Mahdi Hazaveh

Source: hazaveh.net/2018/02/disable-ios-scroll-bounce-overscroll-in-cordova-apps/