icerockdev / moko-resources

Resources access for mobile (android & ios) Kotlin Multiplatform development
https://moko.icerock.dev/
Apache License 2.0
1.04k stars 118 forks source link

Error with stringResource(SharedRes.strings.key) only on physical iOS device (android and iOS simulator work fine) #585

Open casaflowa opened 9 months ago

casaflowa commented 9 months ago

First of all, great work on these libraries, they are awesome! But right now I encountered an issue using moko-resources only on a physical iOS device (16.3.1). I'm trying to go with compose multiplatform and although everything works fine with Android and iOS Simulator, I get an error on a physical device with this stacktrace:

Uncaught Kotlin exception: kotlin.native.internal.FileFailedToInitializeException: There was an error during file or class initialization at 0 APP 0x1025fab7f kfun:kotlin.Error#(kotlin.String?;kotlin.Throwable?){} + 147 at 1 APP 0x10263f763 kfun:kotlin.native.internal.FileFailedToInitializeException#(kotlin.String?;kotlin.Throwable?){} + 147 at 2 APP 0x10263eb87 ThrowFileFailedToInitializeException + 275 at 3 APP 0x103734087 CallInitGlobalPossiblyLock + 763 at 4 APP 0x103511ce3 kfun:package.SharedRes.strings#<get-$instance>#static(){}package.SharedRes.strings + 99 at 5 APP 0x103553c4b kfun:ui.ComposableSingletons$DashboardKt.$lambda$0#internal + 17667 at 6 APP 0x10355b22b kfun:ui.ComposableSingletons$DashboardKt.$$lambda$0$FUNCTION_REFERENCE$4.invoke#internal + 147 at 7 APP 0x10355b31b kfun:ui.ComposableSingletons$DashboardKt.$$lambda$0$FUNCTION_REFERENCE$4.$invoke(androidx.compose.foundation.lazy.LazyItemScope;androidx.compose.runtime.Composer;kotlin.Int){}#internal + 219 at 8 APP 0x10297425f kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#invoke(kotlin.Any?;androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any? + 927 at 9 APP 0x10298612b kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#$invoke(kotlin.Any?;androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any?(kotlin.Any?;androidx.compose.runtime.Composer;kotlin.Any?){}kotlin.Any? + 223 at 10 APP 0x102ed525f kfun:androidx.compose.foundation.lazy.LazyListIntervalContent.item$lambda$2#internal + 1183 at 11 APP 0x102ed5883 kfun:androidx.compose.foundation.lazy.LazyListIntervalContent.$item$lambda$2$FUNCTION_REFERENCE$2.invoke#internal + 183 at 12 APP 0x102ed5a3f kfun:androidx.compose.foundation.lazy.LazyListIntervalContent.$item$lambda$2$FUNCTION_REFERENCE$2.$invoke(androidx.compose.foundation.lazy.LazyItemScope;kotlin.Int;androidx.compose.runtime.Composer;kotlin.Int){}#internal + 263 at 13 APP 0x1029748d3 kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#invoke(kotlin.Any?;kotlin.Any?;androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any? + 971 at 14 APP 0x102986263 kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#$invoke(kotlin.Any?;kotlin.Any?;androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any?(kotlin.Any?;kotlin.Any?;androidx.compose.runtime.Composer;kotlin.Any?){}kotlin.Any? + 259 at 15 APP 0x102eddbfb kfun:androidx.compose.foundation.lazy.LazyListItemProviderImpl.Item$lambda$0#internal + 1199 at 16 APP 0x102eddf1b kfun:androidx.compose.foundation.lazy.LazyListItemProviderImpl.$Item$lambda$0$FUNCTION_REFERENCE$3.invoke#internal + 143 at 17 APP 0x102ede0a3 kfun:androidx.compose.foundation.lazy.LazyListItemProviderImpl.$Item$lambda$0$FUNCTION_REFERENCE$3.$invoke(androidx.compose.runtime.Composer;kotlin.Int){}#internal + 183 at 18 APP 0x102973c27 kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any? + 875 at 19 APP 0x102986017 kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#$invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any?(androidx.compose.runtime.Composer;kotlin.Any?){}kotlin.Any? + 187 at 20 APP 0x10287b08b kfun:androidx.compose.runtime#CompositionLocalProvider(kotlin.Array<out|androidx.compose.runtime.ProvidedValue<>>...;kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;androidx.compose.runtime.Composer?;kotlin.Int){} + 819 at 21 APP 0x102f0dbc7 kfun:androidx.compose.foundation.lazy.layout#LazyLayoutPinnableItem(kotlin.Any?;kotlin.Int;androidx.compose.foundation.lazy.layout.LazyLayoutPinnedItemList;kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;androidx.compose.runtime.Composer?;kotlin.Int){} + 5531 at 22 APP 0x102edcc3b kfun:androidx.compose.foundation.lazy.LazyListItemProviderImpl.Item#internal + 2191 at 23 APP 0x102f05c97 kfun:androidx.compose.foundation.lazy.layout.SkippableItem$lambda$0#internal + 979 at 24 APP 0x102f05f97 kfun:androidx.compose.foundation.lazy.layout.$SkippableItem$lambda$0$FUNCTION_REFERENCE$2.invoke#internal + 151 at 25 APP 0x102f0619b kfun:androidx.compose.foundation.lazy.layout.$SkippableItem$lambda$0$FUNCTION_REFERENCE$2.$invoke(androidx.compose.runtime.Composer;kotlin.Int){}#internal + 183 at 26 APP 0x102973c27 kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any? + 875 at 27 APP 0x102986017 kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#$invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any?(androidx.compose.runtime.Composer;kotlin.Any?){}kotlin.Any? + 187 at 28 APP 0x10287b08b kfun:androidx.compose.runtime#CompositionLocalProvider(kotlin.Array<out|androidx.compose.runtime.ProvidedValue<>>...;kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;androidx.compose.runtime.Composer?;kotlin.Int){} + 819 at 29 APP 0x102abdea7 kfun:androidx.compose.runtime.saveable.SaveableStateHolderImpl.SaveableStateProvider#internal + 3147 at 30 APP 0x102f17987 kfun:androidx.compose.foundation.lazy.layout.LazySaveableStateHolder.SaveableStateProvider#internal + 2355 at 31 APP 0x102f05493 kfun:androidx.compose.foundation.lazy.layout.SkippableItem#internal + 3207 at 32 APP 0x102f03f67 kfun:androidx.compose.foundation.lazy.layout.LazyLayoutItemContentFactory.CachedItemContent.createContentLambda$lambda$1#internal + 2819 at 33 APP 0x102f044d3 kfun:androidx.compose.foundation.lazy.layout.LazyLayoutItemContentFactory.CachedItemContent.$createContentLambda$lambda$1$FUNCTION_REFERENCE$0.invoke#internal + 143 at 34 APP 0x102f0467f kfun:androidx.compose.foundation.lazy.layout.LazyLayoutItemContentFactory.CachedItemContent.$createContentLambda$lambda$1$FUNCTION_REFERENCE$0.$invoke(androidx.compose.runtime.Composer;kotlin.Int){}#internal + 183 at 35 APP 0x102973c27 kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any? + 875 at 36 APP 0x102986017 kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#$invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any?(androidx.compose.runtime.Composer;kotlin.Any?){}kotlin.Any? + 187 at 37 APP 0x102c5b64b kfun:androidx.compose.ui.layout.LayoutNodeSubcompositionsState.subcompose$lambda$1#internal + 1239 at 38 APP 0x102c5cbdf kfun:androidx.compose.ui.layout.LayoutNodeSubcompositionsState.$subcompose$lambda$1$FUNCTION_REFERENCE$3.invoke#internal + 143 at 39 APP 0x102c5cd8b kfun:androidx.compose.ui.layout.LayoutNodeSubcompositionsState.$subcompose$lambda$1$FUNCTION_REFERENCE$3.$invoke(androidx.compose.runtime.Composer;kotlin.Int){}#internal + 183 at 40 APP 0x102973c27 kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any? + 875 at 41 APP 0x102986017 kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#$invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any?(androidx.compose.runtime.Composer;kotlin.Any?){}kotlin.Any? + 187 at 42 APP 0x10297250f kfun:androidx.compose.runtime#invokeComposable(androidx.compose.runtime.Composer;kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>){} + 339 at 43 APP 0x10284ac23 kfun:androidx.compose.runtime.ComposerImpl.doCompose#internal + 2347 at 44 APP 0x102849b8b kfun:androidx.compose.runtime.ComposerImpl#composeContent(androidx.compose.runtime.collection.IdentityArrayMap<androidx.compose.runtime.RecomposeScopeImpl,androidx.compose.runtime.collection.IdentityArraySet?>;kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>){} + 431 at 45 APP 0x10286a647 kfun:androidx.compose.runtime.CompositionImpl#composeContent(kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>){} + 675 at 46 APP 0x10289912f kfun:androidx.compose.runtime.Recomposer#composeInitial(androidx.compose.runtime.ControlledComposition;kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>){} + 1035 at 47 APP 0x1028510d7 kfun:androidx.compose.runtime.ComposerImpl.CompositionContextImpl.composeInitial#internal + 243 at 48 APP 0x1028510d7 kfun:androidx.compose.runtime.ComposerImpl.CompositionContextImpl.composeInitial#internal + 243 at 49 APP 0x1028510d7 kfun:androidx.compose.runtime.ComposerImpl.CompositionContextImpl.composeInitial#internal + 243 at 50 APP 0x102869abb kfun:androidx.compose.runtime.CompositionImpl#setContent(kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>){} + 479 at 51 APP 0x102c55023 kfun:androidx.compose.ui.layout.LayoutNodeSubcompositionsState.subcomposeInto#internal + 627 at 52 APP 0x102c54bfb kfun:androidx.compose.ui.layout.LayoutNodeSubcompositionsState.subcompose#internal.157 + 1031 at 53 APP 0x102c5476f kfun:androidx.compose.ui.layout.LayoutNodeSubcompositionsState.subcompose#internal + 1319 at 54 APP 0x102c5407b kfun:androidx.compose.ui.layout.LayoutNodeSubcompositionsState#subcompose(kotlin.Any?;kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>){}kotlin.collections.List + 2991 at 55 APP 0x102c59d0b kfun:androidx.compose.ui.layout.LayoutNodeSubcompositionsState.Scope.subcompose#internal + 159 at 56 APP 0x102f0934b kfun:androidx.compose.foundation.lazy.layout.LazyLayoutMeasureScopeImpl#measure(kotlin.Int;androidx.compose.ui.unit.Constraints){}kotlin.collections.List + 991 at 57 APP 0x102ee819f kfun:androidx.compose.foundation.lazy.LazyListMeasuredItemProvider#getAndMeasure(kotlin.Int){}androidx.compose.foundation.lazy.LazyListMeasuredItem + 611 at 58 APP 0x102edf95f kfun:androidx.compose.foundation.lazy#measureLazyList(kotlin.Int;androidx.compose.foundation.lazy.LazyListMeasuredItemProvider;kotlin.Int;kotlin.Int;kotlin.Int;kotlin.Int;kotlin.Int;kotlin.Int;kotlin.Float;androidx.compose.ui.unit.Constraints;kotlin.Boolean;kotlin.collections.List;androidx.compose.foundation.layout.Arrangement.Vertical?;androidx.compose.foundation.layout.Arrangement.Horizontal?;kotlin.Boolean;androidx.compose.ui.unit.Density;androidx.compose.foundation.lazy.LazyListItemPlacemen + 3191 at 59 APP 0x102ece41b kfun:androidx.compose.foundation.lazy.rememberLazyListMeasurePolicy$lambda$2#internal + 6171 at 60 APP 0x102ecf4df kfun:androidx.compose.foundation.lazy.$rememberLazyListMeasurePolicy$lambda$2$FUNCTION_REFERENCE$1.invoke#internal + 211 at 61 APP 0x102ecf85b kfun:androidx.compose.foundation.lazy.$rememberLazyListMeasurePolicy$lambda$2$FUNCTION_REFERENCE$1.$invoke(androidx.compose.foundation.lazy.layout.LazyLayoutMeasureScope;androidx.compose.ui.unit.Constraints){}androidx.compose.foundation.lazy.LazyListMeasureResult#internal + 187 at 62 APP 0x102ef76f7 kfun:androidx.compose.foundation.lazy.layout.LazyLayout$lambda$2$lambda$1#internal + 435 at 63 APP 0x102ef9b9b kfun:androidx.compose.foundation.lazy.layout.$LazyLayout$lambda$2$lambda$1$FUNCTION_REFERENCE$3.invoke#internal + 151 at 64 APP 0x102ef9d6b kfun:androidx.compose.foundation.lazy.layout.$LazyLayout$lambda$2$lambda$1$FUNCTION_REFERENCE$3.$invoke(androidx.compose.ui.layout.SubcomposeMeasureScope;androidx.compose.ui.unit.Constraints){}androidx.compose.ui.layout.MeasureResult#internal + 187 at 65 APP 0x102c5c0fb kfun:androidx.compose.ui.layout.LayoutNodeSubcompositionsState.object-1.measure#internal + 1587 at 66 APP 0x102c8175f kfun:androidx.compose.ui.node.InnerNodeCoordinator#measure(androidx.compose.ui.unit.Constraints){}androidx.compose.ui.layout.Placeable + 1035 at 67 APP 0x102dfa797 kfun:androidx.compose.foundation.layout.OffsetPxNode.measure#internal + 307 at 68 APP 0x102c8b55f kfun:androidx.compose.ui.node.LayoutModifierNodeCoordinator#measure(androidx.compose.ui.unit.Constraints){}androidx.compose.ui.layout.Placeable + 1347 at 69 APP 0x102bd4057 kfun:androidx.compose.ui.graphics.SimpleGraphicsLayerModifier.measure#internal + 307 at 70 APP 0x102c8b55f kfun:androidx.compose.ui.node.LayoutModifierNodeCoordinator#measure(androidx.compose.ui.unit.Constraints){}androidx.compose.ui.layout.Placeable + 1347 at 71 APP 0x102e1e993 kfun:androidx.compose.foundation.layout.FillNode.measure#internal + 1123 at 72 APP 0x102c8b55f kfun:androidx.compose.ui.node.LayoutModifierNodeCoordinator#measure(androidx.compose.ui.unit.Constraints){}androidx.compose.ui.layout.Placeable + 1347 at 73 APP 0x102cc3857 kfun:androidx.compose.ui.node.LayoutNodeLayoutDelegate.performMeasure$lambda$0#internal + 203 at 74 APP 0x102cc3a33 kfun:androidx.compose.ui.node.LayoutNodeLayoutDelegate.$performMeasure$lambda$0$FUNCTION_REFERENCE$10.invoke#internal + 99 at 75 APP 0x102cc3b63 kfun:androidx.compose.ui.node.LayoutNodeLayoutDelegate.$performMeasure$lambda$0$FUNCTION_REFERENCE$10.$invoke(){}#internal + 95 at 76 APP 0x10292adbf kfun:androidx.compose.runtime.snapshots.Snapshot.Companion#observe(kotlin.Function1<kotlin.Any,kotlin.Unit>?;kotlin.Function1<kotlin.Any,kotlin.Unit>?;kotlin.Function0<0:0>){0§<kotlin.Any?>}0:0 + 1179 at 77 APP 0x10296a06f kfun:androidx.compose.runtime.snapshots.SnapshotStateObserver.ObservedScopeMap.observe#internal + 855 at 78 APP 0x10296753b kfun:androidx.compose.runtime.snapshots.SnapshotStateObserver#observeReads(0:0;kotlin.Function1<0:0,kotlin.Unit>;kotlin.Function0){0§} + 699 at 79 APP 0x102d002ef kfun:androidx.compose.ui.node.OwnerSnapshotObserver#observeReads(0:0;kotlin.Function1<0:0,kotlin.Unit>;kotlin.Function0){0§} + 247 at 80 APP 0x102cfffbb kfun:androidx.compose.ui.node.OwnerSnapshotObserver#observeMeasureSnapshotReads(androidx.compose.ui.node.LayoutNode;kotlin.Boolean;kotlin.Function0){} + 443 at 81 APP 0x102cc2a57 kfun:androidx.compose.ui.node.LayoutNodeLayoutDelegate.performMeasure#internal + 803 at 82 APP 0x102cb59eb kfun:androidx.compose.ui.node.LayoutNodeLayoutDelegate.MeasurePassDelegate#remeasure(androidx.compose.ui.unit.Constraints){}kotlin.Boolean + 927 at 83 APP 0x102cb5603 kfun:androidx.compose.ui.node.LayoutNodeLayoutDelegate.MeasurePassDelegate#measure(androidx.compose.ui.unit.Constraints){}androidx.compose.ui.layout.Placeable + 803 at 84 APP 0x103002e83 kfun:androidx.compose.material.ScaffoldLayout$lambda$9$lambda$8#internal + 12311 at 85 APP 0x1030073a7 kfun:androidx.compose.material.$ScaffoldLayout$lambda$9$lambda$8$FUNCTION_REFERENCE$14.invoke#internal + 195 at 86 APP 0x1030076f3 kfun:androidx.compose.material.$ScaffoldLayout$lambda$9$lambda$8$FUNCTION_REFERENCE$14.$invoke(androidx.compose.ui.layout.Placeable.PlacementScope){}#internal + 123 at 87 APP 0x102c4a7bb kfun:androidx.compose.ui.layout.MeasureScope.object-1.placeChildren#internal + 971 at 88 APP 0x102c5c923 kfun:androidx.compose.ui.layout.LayoutNodeSubcompositionsState.object-1.object-1.placeChildren#internal + 183 at 89 APP 0x102cb950b kfun:androidx.compose.ui.node.LayoutNodeLayoutDelegate.MeasurePassDelegate.layoutChildren$lambda$2#internal + 327 at 90 APP 0x102cb991b kfun:androidx.compose.ui.node.LayoutNodeLayoutDelegate.MeasurePassDelegate.$layoutChildren$lambda$2$FUNCTION_REFERENCE$0.invoke#internal + 99 at 91 APP 0x102cb9a6f kfun:androidx.compose.ui.node.LayoutNodeLayoutDelegate.MeasurePassDelegate.$layoutChildren$lambda$2$FUNCTION_REFERENCE$0.$invoke(){}#internal + 95 at 92 APP 0x10292adbf kfun:androidx.compose.runtime.snapshots.Snapshot.Companion#observe(kotlin.Function1<kotlin.Any,kotlin.Unit>?;kotlin.Function1<kotlin.Any,kotlin.Unit>?;kotlin.Function0<0:0>){0§<kotlin.Any?>}0:0 + 1179 at 93 APP 0x10296a06f kfun:androidx.compose.runtime.snapshots.SnapshotStateObserver.ObservedScopeMap.observe#internal + 855 at 94 APP 0x10296753b kfun:androidx.compose.runtime.snapshots.SnapshotStateObserver#observeReads(0:0;kotlin.Function1<0:0,kotlin.Unit>;kotlin.Function0){0§} + 699 at 95 APP 0x102d002ef kfun:androidx.compose.ui.node.OwnerSnapshotObserver#observeReads(0:0;kotlin.Function1<0:0,kotlin.Unit>;kotlin.Function0){0§} + 247 at 96 APP 0x102cff9fb kfun:androidx.compose.ui.node.OwnerSnapshotObserver#observeLayoutSnapshotReads(androidx.compose.ui.node.LayoutNode;kotlin.Boolean;kotlin.Function0){} + 443 at 97 APP 0x102cb389f kfun:androidx.compose.ui.node.LayoutNodeLayoutDelegate.MeasurePassDelegate#layoutChildren(){} + 1063 at 98 APP 0x102cb4f1f kfun:androidx.compose.ui.node.LayoutNodeLayoutDelegate.MeasurePassDelegate#onNodePlaced(){} + 1763 at 99 APP 0x102c81ea7 kfun:androidx.compose.ui.node.InnerNodeCoordinator#placeAt(androidx.compose.ui.unit.IntOffset;kotlin.Float;kotlin.Function1<androidx.compose.ui.graphics.GraphicsLayerScope,kotlin.Unit>?){} + 375 at 100 APP 0x102c4df6b kfun:androidx.compose.ui.layout.Placeable.PlacementScope#placeatandroidx.compose.ui.layout.Placeable(androidx.compose.ui.unit.IntOffset;kotlin.Float){} + 535 at 101 APP 0x102cb983b kfun:androidx.compose.ui.node.LayoutNodeLayoutDelegate.MeasurePassDelegate.placeOuterCoordinator$lambda$4#internal + 335 at 102 APP 0x102cb9c3b kfun:androidx.compose.ui.node.LayoutNodeLayoutDelegate.MeasurePassDelegate.$placeOuterCoordinator$lambda$4$FUNCTION_REFERENCE$2.invoke#internal + 107 at 103 APP 0x102cb9dc3 kfun:androidx.compose.ui.node.LayoutNodeLayoutDelegate.MeasurePassDelegate.$placeOuterCoordinator$lambda$4$FUNCTION_REFERENCE$2.$invoke(){}#internal + 95 at 104 APP 0x10292adbf kfun:androidx.compose.runtime.snapshots.Snapshot.Companion#observe(kotlin.Function1<kotlin.Any,kotlin.Unit>?;kotlin.Function1<kotlin.Any,kotlin.Unit>?;kotlin.Function0<0:0>){0§<kotlin.Any?>}0:0 + 1179 at 105 APP 0x10296a06f kfun:androidx.compose.runtime.snapshots.SnapshotStateObserver.ObservedScopeMap.observe#internal + 855 at 106 APP 0x10296753b kfun:androidx.compose.runtime.snapshots.SnapshotStateObserver#observeReads(0:0;kotlin.Function1<0:0,kotlin.Unit>;kotlin.Function0){0§} + 699 at 107 APP 0x102d002ef kfun:androidx.compose.ui.node.OwnerSnapshotObserver#observeReads(0:0;kotlin.Function1<0:0,kotlin.Unit>;kotlin.Function0){0§} + 247 at 108 APP 0x102cffcdb kfun:androidx.compose.ui.node.OwnerSnapshotObserver#observeLayoutModifierSnapshotReads(androidx.compose.ui.node.LayoutNode;kotlin.Boolean;kotlin.Function0){} + 443 at 109 APP 0x102cb6e37 kfun:androidx.compose.ui.node.LayoutNodeLayoutDelegate.MeasurePassDelegate.placeOuterCoordinator#internal + 931 at 110 APP 0x102cb6a6b kfun:androidx.compose.ui.node.LayoutNodeLayoutDelegate.MeasurePassDelegate#placeAt(androidx.compose.ui.unit.IntOffset;kotlin.Float;kotlin.Function1<androidx.compose.ui.graphics.GraphicsLayerScope,kotlin.Unit>?){} + 1055 at 111 APP 0x102c4df6b kfun:androidx.compose.ui.layout.Placeable.PlacementScope#placeatandroidx.compose.ui.layout.Placeable(androidx.compose.ui.unit.IntOffset;kotlin.Float){} + 535 at 112 APP 0x102c4e0b3 kfun:androidx.compose.ui.layout.Placeable.PlacementScope#place$defaultatandroidx.compose.ui.layout.Placeable(androidx.compose.ui.unit.IntOffset;kotlin.Float;kotlin.Int){} + 283 at 113 APP 0x102def24b kfun:androidx.compose.foundation.layout.placeInBox#internal + 667 at 114 APP 0x102df076f kfun:androidx.compose.foundation.layout.boxMeasurePolicy$lambda$6$lambda$4#internal + 459 at 115 APP 0x102df2c0f kfun:androidx.compose.foundation.layout.$boxMeasurePolicy$lambda$6$lambda$4$FUNCTION_REFERENCE$7.invoke#internal + 143 at 116 APP 0x102df2e37 kfun:androidx.compose.foundation.layout.$boxMeasurePolicy$lambda$6$lambda$4$FUNCTION_REFERENCE$7.$invoke(androidx.compose.ui.layout.Placeable.PlacementScope){}#internal + 123 at 117 APP 0x102c4a7bb kfun:androidx.compose.ui.layout.MeasureScope.object-1.placeChildren#internal + 971 at 118 APP 0x102cb950b kfun:androidx.compose.ui.node.LayoutNodeLayoutDelegate.MeasurePassDelegate.layoutChildren$lambda$2#internal + 327 at 119 APP 0x102cb991b kfun:androidx.compose.ui.node.LayoutNodeLayoutDelegate.MeasurePassDelegate.$layoutChildren$lambda$2$FUNCTION_REFERENCE$0.invoke#internal + 99 at 120 APP 0x102cb9a6f kfun:androidx.compose.ui.node.LayoutNodeLayoutDelegate.MeasurePassDelegate.$layoutChildren$lambda$2$FUNCTION_REFERENCE$0.$invoke(){}#internal + 95 at 121 APP 0x10292adbf kfun:androidx.compose.runtime.snapshots.Snapshot.Companion#observe(kotlin.Function1<kotlin.Any,kotlin.Unit>?;kotlin.Function1<kotlin.Any,kotlin.Unit>?;kotlin.Function0<0:0>){0§<kotlin.Any?>}0:0 + 1179 at 122 APP 0x10296a06f kfun:androidx.compose.runtime.snapshots.SnapshotStateObserver.ObservedScopeMap.observe#internal + 855 at 123 APP 0x10296753b kfun:androidx.compose.runtime.snapshots.SnapshotStateObserver#observeReads(0:0;kotlin.Function1<0:0,kotlin.Unit>;kotlin.Function0){0§} + 699 at 124 APP 0x102d002ef kfun:androidx.compose.ui.node.OwnerSnapshotObserver#observeReads(0:0;kotlin.Function1<0:0,kotlin.Unit>;kotlin.Function0){0§} + 247 at 125 APP 0x102cff9fb kfun:androidx.compose.ui.node.OwnerSnapshotObserver#observeLayoutSnapshotReads(androidx.compose.ui.node.LayoutNode;kotlin.Boolean;kotlin.Function0){} + 443 Caused by: kotlin.IllegalArgumentException: bundle with identifier package.MR not found at 0 APP 0x1026011e3 kfun:kotlin.Throwable#(kotlin.String?){} + 123 at 1 APP 0x1025f9faf kfun:kotlin.Exception#(kotlin.String?){} + 119 at 2 APP 0x1025fa2db kfun:kotlin.RuntimeException#(kotlin.String?){} + 119 at 3 APP 0x1025fa607 kfun:kotlin.IllegalArgumentException#(kotlin.String?){} + 119 at 4 APP 0x10275f27f kfun:dev.icerock.moko.resources.utils#loadableBundleatplatform.Foundation.NSBundle.Companion(kotlin.String){}platform.Foundation.NSBundle + 3447 at 5 APP 0x103513077 kfun:package.SharedRes.$lambda$0#internal + 203 at 6 APP 0x103513113 kfun:package.SharedRes.$$lambda$0$FUNCTION_REFERENCE$1.invoke#internal + 87 at 7 APP 0x10261582b kfun:kotlin.native.concurrent.SynchronizedLazyImpl#(){}1:0 + 823 at 8 APP 0x10351082f kfun:package.SharedRes.#internal + 339 at 9 APP 0x103510bd7 kfun:package.SharedRes.strings#(){} + 583 at 10 APP 0x10351095b kfun:package.SharedRes.strings.$init_global#internal + 151 at 11 APP 0x103733fa7 CallInitGlobalPossiblyLock + 539 at 12 APP 0x103511ce3 kfun:package.SharedRes.strings#<get-$instance>#static(){}package.SharedRes.strings + 99 at 13 APP 0x103553c4b kfun:ui.ComposableSingletons$DashboardKt.$lambda$0#internal + 17667 at 14 APP 0x10355b22b kfun:ui.ComposableSingletons$DashboardKt.$$lambda$0$FUNCTION_REFERENCE$4.invoke#internal + 147 at 15 APP 0x10355b31b kfun:ui.ComposableSingletons$DashboardKt.$$lambda$0$FUNCTION_REFERENCE$4.$invoke(androidx.compose.foundation.lazy.LazyItemScope;androidx.compose.runtime.Composer;kotlin.Int){}#internal + 219 at 16 APP 0x10297425f kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#invoke(kotlin.Any?;androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any? + 927 at 17 APP 0x10298612b kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#$invoke(kotlin.Any?;androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any?(kotlin.Any?;androidx.compose.runtime.Composer;kotlin.Any?){}kotlin.Any? + 223 at 18 APP 0x102ed525f kfun:androidx.compose.foundation.lazy.LazyListIntervalContent.item$lambda$2#internal + 1183 at 19 APP 0x102ed5883 kfun:androidx.compose.foundation.lazy.LazyListIntervalContent.$item$lambda$2$FUNCTION_REFERENCE$2.invoke#internal + 183 at 20 APP 0x102ed5a3f kfun:androidx.compose.foundation.lazy.LazyListIntervalContent.$item$lambda$2$FUNCTION_REFERENCE$2.$invoke(androidx.compose.foundation.lazy.LazyItemScope;kotlin.Int;androidx.compose.runtime.Composer;kotlin.Int){}#internal + 263 at 21 APP 0x1029748d3 kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#invoke(kotlin.Any?;kotlin.Any?;androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any? + 971 at 22 APP 0x102986263 kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#$invoke(kotlin.Any?;kotlin.Any?;androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any?(kotlin.Any?;kotlin.Any?;androidx.compose.runtime.Composer;kotlin.Any?){}kotlin.Any? + 259 at 23 APP 0x102eddbfb kfun:androidx.compose.foundation.lazy.LazyListItemProviderImpl.Item$lambda$0#internal + 1199 at 24 APP 0x102eddf1b kfun:androidx.compose.foundation.lazy.LazyListItemProviderImpl.$Item$lambda$0$FUNCTION_REFERENCE$3.invoke#internal + 143 at 25 APP 0x102ede0a3 kfun:androidx.compose.foundation.lazy.LazyListItemProviderImpl.$Item$lambda$0$FUNCTION_REFERENCE$3.$invoke(androidx.compose.runtime.Composer;kotlin.Int){}#internal + 183 at 26 APP 0x102973c27 kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any? + 875 at 27 APP 0x102986017 kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#$invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any?(androidx.compose.runtime.Composer;kotlin.Any?){}kotlin.Any? + 187 at 28 APP 0x10287b08b kfun:androidx.compose.runtime#CompositionLocalProvider(kotlin.Array<out|androidx.compose.runtime.ProvidedValue<>>...;kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;androidx.compose.runtime.Composer?;kotlin.Int){} + 819 at 29 APP 0x102f0dbc7 kfun:androidx.compose.foundation.lazy.layout#LazyLayoutPinnableItem(kotlin.Any?;kotlin.Int;androidx.compose.foundation.lazy.layout.LazyLayoutPinnedItemList;kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;androidx.compose.runtime.Composer?;kotlin.Int){} + 5531 at 30 APP 0x102edcc3b kfun:androidx.compose.foundation.lazy.LazyListItemProviderImpl.Item#internal + 2191 at 31 APP 0x102f05c97 kfun:androidx.compose.foundation.lazy.layout.SkippableItem$lambda$0#internal + 979 at 32 APP 0x102f05f97 kfun:androidx.compose.foundation.lazy.layout.$SkippableItem$lambda$0$FUNCTION_REFERENCE$2.invoke#internal + 151 at 33 APP 0x102f0619b kfun:androidx.compose.foundation.lazy.layout.$SkippableItem$lambda$0$FUNCTION_REFERENCE$2.$invoke(androidx.compose.runtime.Composer;kotlin.Int){}#internal + 183 at 34 APP 0x102973c27 kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any? + 875 at 35 APP 0x102986017 kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#$invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any?(androidx.compose.runtime.Composer;kotlin.Any?){}kotlin.Any? + 187 at 36 APP 0x10287b08b kfun:androidx.compose.runtime#CompositionLocalProvider(kotlin.Array<out|androidx.compose.runtime.ProvidedValue<>>...;kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;androidx.compose.runtime.Composer?;kotlin.Int){} + 819 at 37 APP 0x102abdea7 kfun:androidx.compose.runtime.saveable.SaveableStateHolderImpl.SaveableStateProvider#internal + 3147 at 38 APP 0x102f17987 kfun:androidx.compose.foundation.lazy.layout.LazySaveableStateHolder.SaveableStateProvider#internal + 2355 at 39 APP 0x102f05493 kfun:androidx.compose.foundation.lazy.layout.SkippableItem#internal + 3207 at 40 APP 0x102f03f67 kfun:androidx.compose.foundation.lazy.layout.LazyLayoutItemContentFactory.CachedItemContent.createContentLambda$lambda$1#internal + 2819 at 41 APP 0x102f044d3 kfun:androidx.compose.foundation.lazy.layout.LazyLayoutItemContentFactory.CachedItemContent.$createContentLambda$lambda$1$FUNCTION_REFERENCE$0.invoke#internal + 143 at 42 APP 0x102f0467f kfun:androidx.compose.foundation.lazy.layout.LazyLayoutItemContentFactory.CachedItemContent.$createContentLambda$lambda$1$FUNCTION_REFERENCE$0.$invoke(androidx.compose.runtime.Composer;kotlin.Int){}#internal + 183 at 43 APP 0x102973c27 kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any? + 875 at 44 APP 0x102986017 kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#$invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any?(androidx.compose.runtime.Composer;kotlin.Any?){}kotlin.Any? + 187 at 45 APP 0x102c5b64b kfun:androidx.compose.ui.layout.LayoutNodeSubcompositionsState.subcompose$lambda$1#internal + 1239 at 46 APP 0x102c5cbdf kfun:androidx.compose.ui.layout.LayoutNodeSubcompositionsState.$subcompose$lambda$1$FUNCTION_REFERENCE$3.invoke#internal + 143 at 47 APP 0x102c5cd8b kfun:androidx.compose.ui.layout.LayoutNodeSubcompositionsState.$subcompose$lambda$1$FUNCTION_REFERENCE$3.$invoke(androidx.compose.runtime.Composer;kotlin.Int){}#internal + 183 at 48 APP 0x102973c27 kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any? + 875 at 49 APP 0x102986017 kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#$invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any?(androidx.compose.runtime.Composer;kotlin.Any?){}kotlin.Any? + 187 at 50 APP 0x10297250f kfun:androidx.compose.runtime#invokeComposable(androidx.compose.runtime.Composer;kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>){} + 339 at 51 APP 0x10284ac23 kfun:androidx.compose.runtime.ComposerImpl.doCompose#internal + 2347 at 52 APP 0x102849b8b kfun:androidx.compose.runtime.ComposerImpl#composeContent(androidx.compose.runtime.collection.IdentityArrayMap<androidx.compose.runtime.RecomposeScopeImpl,androidx.compose.runtime.collection.IdentityArraySet?>;kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>){} + 431 at 53 APP 0x10286a647 kfun:androidx.compose.runtime.CompositionImpl#composeContent(kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>){} + 675 at 54 APP 0x10289912f kfun:androidx.compose.runtime.Recomposer#composeInitial(androidx.compose.runtime.ControlledComposition;kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>){} + 1035 at 55 APP 0x1028510d7 kfun:androidx.compose.runtime.ComposerImpl.CompositionContextImpl.composeInitial#internal + 243 at 56 APP 0x1028510d7 kfun:androidx.compose.runtime.ComposerImpl.CompositionContextImpl.composeInitial#internal + 243 at 57 APP 0x1028510d7 kfun:androidx.compose.runtime.ComposerImpl.CompositionContextImpl.composeInitial#internal + 243 at 58 APP 0x102869abb kfun:androidx.compose.runtime.CompositionImpl#setContent(kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>){} + 479 at 59 APP 0x102c55023 kfun:androidx.compose.ui.layout.LayoutNodeSubcompositionsState.subcomposeInto#internal + 627 at 60 APP 0x102c54bfb kfun:androidx.compose.ui.layout.LayoutNodeSubcompositionsState.subcompose#internal.157 + 1031 at 61 APP 0x102c5476f kfun:androidx.compose.ui.layout.LayoutNodeSubcompositionsState.subcompose#internal + 1319 at 62 APP 0x102c5407b kfun:androidx.compose.ui.layout.LayoutNodeSubcompositionsState#subcompose(kotlin.Any?;kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>){}kotlin.collections.List + 2991 at 63 APP 0x102c59d0b kfun:androidx.compose.ui.layout.LayoutNodeSubcompositionsState.Scope.subcompose#internal + 159 at 64 APP 0x102f0934b kfun:androidx.compose.foundation.lazy.layout.LazyLayoutMeasureScopeImpl#measure(kotlin.Int;androidx.compose.ui.unit.Constraints){}kotlin.collections.List + 991 at 65 APP 0x102ee819f kfun:androidx.compose.foundation.lazy.LazyListMeasuredItemProvider#getAndMeasure(kotlin.Int){}androidx.compose.foundation.lazy.LazyListMeasuredItem + 611 at 66 APP 0x102edf95f kfun:androidx.compose.foundation.lazy#measureLazyList(kotlin.Int;androidx.compose.foundation.lazy.LazyListMeasuredItemProvider;kotlin.Int;kotlin.Int;kotlin.Int;kotlin.Int;kotlin.Int;kotlin.Int;kotlin.Float;androidx.compose.ui.unit.Constraints;kotlin.Boolean;kotlin.collections.List;androidx.compose.foundation.layout.Arrangement.Vertical?;androidx.compose.foundation.layout.Arrangement.Horizontal?;kotlin.Boolean;androidx.compose.ui.unit.Density;androidx.compose.foundation.lazy.LazyListItemPlacemen + 3191 at 67 APP 0x102ece41b kfun:androidx.compose.foundation.lazy.rememberLazyListMeasurePolicy$lambda$2#internal + 6171 at 68 APP 0x102ecf4df kfun:androidx.compose.foundation.lazy.$rememberLazyListMeasurePolicy$lambda$2$FUNCTION_REFERENCE$1.invoke#internal + 211 at 69 APP 0x102ecf85b kfun:androidx.compose.foundation.lazy.$rememberLazyListMeasurePolicy$lambda$2$FUNCTION_REFERENCE$1.$invoke(androidx.compose.foundation.lazy.layout.LazyLayoutMeasureScope;androidx.compose.ui.unit.Constraints){}androidx.compose.foundation.lazy.LazyListMeasureResult#internal + 187 at 70 APP 0x102ef76f7 kfun:androidx.compose.foundation.lazy.layout.LazyLayout$lambda$2$lambda$1#internal + 435 at 71 APP 0x102ef9b9b kfun:androidx.compose.foundation.lazy.layout.$LazyLayout$lambda$2$lambda$1$FUNCTION_REFERENCE$3.invoke#internal + 151 at 72 APP 0x102ef9d6b kfun:androidx.compose.foundation.lazy.layout.$LazyLayout$lambda$2$lambda$1$FUNCTION_REFERENCE$3.$invoke(androidx.compose.ui.layout.SubcomposeMeasureScope;androidx.compose.ui.unit.Constraints){}androidx.compose.ui.layout.MeasureResult#internal + 187 at 73 APP 0x102c5c0fb kfun:androidx.compose.ui.layout.LayoutNodeSubcompositionsState.object-1.measure#internal + 1587 at 74 APP 0x102c8175f kfun:androidx.compose.ui.node.InnerNodeCoordinator#measure(androidx.compose.ui.unit.Constraints){}androidx.compose.ui.layout.Placeable + 1035 at 75 APP 0x102dfa797 kfun:androidx.compose.foundation.layout.OffsetPxNode.measure#internal + 307 at 76 APP 0x102c8b55f kfun:androidx.compose.ui.node.LayoutModifierNodeCoordinator#measure(androidx.compose.ui.unit.Constraints){}androidx.compose.ui.layout.Placeable + 1347 at 77 APP 0x102bd4057 kfun:androidx.compose.ui.graphics.SimpleGraphicsLayerModifier.measure#internal + 307 at 78 APP 0x102c8b55f kfun:androidx.compose.ui.node.LayoutModifierNodeCoordinator#measure(androidx.compose.ui.unit.Constraints){}androidx.compose.ui.layout.Placeable + 1347 at 79 APP 0x102e1e993 kfun:androidx.compose.foundation.layout.FillNode.measure#internal + 1123 at 80 APP 0x102c8b55f kfun:androidx.compose.ui.node.LayoutModifierNodeCoordinator#measure(androidx.compose.ui.unit.Constraints){}androidx.compose.ui.layout.Placeable + 1347 at 81 APP 0x102cc3857 kfun:androidx.compose.ui.node.LayoutNodeLayoutDelegate.performMeasure$lambda$0#internal + 203 at 82 APP 0x102cc3a33 kfun:androidx.compose.ui.node.LayoutNodeLayoutDelegate.$performMeasure$lambda$0$FUNCTION_REFERENCE$10.invoke#internal + 99 at 83 APP 0x102cc3b63 kfun:androidx.compose.ui.node.LayoutNodeLayoutDelegate.$performMeasure$lambda$0$FUNCTION_REFERENCE$10.$invoke(){}#internal + 95 at 84 APP 0x10292adbf kfun:androidx.compose.runtime.snapshots.Snapshot.Companion#observe(kotlin.Function1<kotlin.Any,kotlin.Unit>?;kotlin.Function1<kotlin.Any,kotlin.Unit>?;kotlin.Function0<0:0>){0§<kotlin.Any?>}0:0 + 1179 at 85 APP 0x10296a06f kfun:androidx.compose.runtime.snapshots.SnapshotStateObserver.ObservedScopeMap.observe#internal + 855 at 86 APP 0x10296753b kfun:androidx.compose.runtime.snapshots.SnapshotStateObserver#observeReads(0:0;kotlin.Function1<0:0,kotlin.Unit>;kotlin.Function0){0§} + 699 at 87 APP 0x102d002ef kfun:androidx.compose.ui.node.OwnerSnapshotObserver#observeReads(0:0;kotlin.Function1<0:0,kotlin.Unit>;kotlin.Function0){0§} + 247 at 88 APP 0x102cfffbb kfun:androidx.compose.ui.node.OwnerSnapshotObserver#observeMeasureSnapshotReads(androidx.compose.ui.node.LayoutNode;kotlin.Boolean;kotlin.Function0){} + 443 at 89 APP 0x102cc2a57 kfun:androidx.compose.ui.node.LayoutNodeLayoutDelegate.performMeasure#internal + 803 at 90 APP 0x102cb59eb kfun:androidx.compose.ui.node.LayoutNodeLayoutDelegate.MeasurePassDelegate#remeasure(androidx.compose.ui.unit.Constraints){}kotlin.Boolean + 927 at 91 APP 0x102cb5603 kfun:androidx.compose.ui.node.LayoutNodeLayoutDelegate.MeasurePassDelegate#measure(androidx.compose.ui.unit.Constraints){}androidx.compose.ui.layout.Placeable + 803 at 92 APP 0x103002e83 kfun:androidx.compose.material.ScaffoldLayout$lambda$9$lambda$8#internal + 12311 at 93 APP 0x1030073a7 kfun:androidx.compose.material.$ScaffoldLayout$lambda$9$lambda$8$FUNCTION_REFERENCE$14.invoke#internal + 195 at 94 APP 0x1030076f3 kfun:androidx.compose.material.$ScaffoldLayout$lambda$9$lambda$8$FUNCTION_REFERENCE$14.$invoke(androidx.compose.ui.layout.Placeable.PlacementScope){}#internal + 123 at 95 APP 0x102c4a7bb kfun:androidx.compose.ui.layout.MeasureScope.object-1.placeChildren#internal + 971 at 96 APP 0x102c5c923 kfun:androidx.compose.ui.layout.LayoutNodeSubcompositionsState.object-1.object-1.placeChildren#internal + 183 at 97 APP 0x102cb950b kfun:androidx.compose.ui.node.LayoutNodeLayoutDelegate.MeasurePassDelegate.layoutChildren$lambda$2#internal + 327 at 98 APP 0x102cb991b kfun:androidx.compose.ui.node.LayoutNodeLayoutDelegate.MeasurePassDelegate.$layoutChildren$lambda$2$FUNCTION_REFERENCE$0.invoke#internal + 99 at 99 APP 0x102cb9a6f kfun:androidx.compose.ui.node.LayoutNodeLayoutDelegate.MeasurePassDelegate.$layoutChildren$lambda$2$FUNCTION_REFERENCE$0.$invoke(){}#internal + 95 at 100 APP 0x10292adbf kfun:androidx.compose.runtime.snapshots.Snapshot.Companion#observe(kotlin.Function1<kotlin.Any,kotlin.Unit>?;kotlin.Function1<kotlin.Any,kotlin.Unit>?;kotlin.Function0<0:0>){0§<kotlin.Any?>}0:0 + 1179 at 101 APP 0x10296a06f kfun:androidx.compose.runtime.snapshots.SnapshotStateObserver.ObservedScopeMap.observe#internal + 855 at 102 APP 0x10296753b kfun:androidx.compose.runtime.snapshots.SnapshotStateObserver#observeReads(0:0;kotlin.Function1<0:0,kotlin.Unit>;kotlin.Function0){0§} + 699 at 103 APP 0x102d002ef kfun:androidx.compose.ui.node.OwnerSnapshotObserver#observeReads(0:0;kotlin.Function1<0:0,kotlin.Unit>;kotlin.Function0){0§} + 247 at 104 APP 0x102cff9fb kfun:androidx.compose.ui.node.OwnerSnapshotObserver#observeLayoutSnapshotReads(androidx.compose.ui.node.LayoutNode;kotlin.Boolean;kotlin.Function0){} + 443 at 105 APP 0x102cb389f kfun:androidx.compose.ui.node.LayoutNodeLayoutDelegate.MeasurePassDelegate#layoutChildren(){} + 1063 at 106 APP 0x102cb4f1f kfun:androidx.compose.ui.node.LayoutNodeLayoutDelegate.MeasurePassDelegate#onNodePlaced(){} + 1763 at 107 APP 0x102c81ea7 kfun:androidx.compose.ui.node.InnerNodeCoordinator#placeAt(androidx.compose.ui.unit.IntOffset;kotlin.Float;kotlin.Function1<androidx.compose.ui.graphics.GraphicsLayerScope,kotlin.Unit>?){} + 375 at 108 APP 0x102c4df6b kfun:androidx.compose.ui.layout.Placeable.PlacementScope#placeatandroidx.compose.ui.layout.Placeable(androidx.compose.ui.unit.IntOffset;kotlin.Float){} + 535 at 109 APP 0x102cb983b kfun:androidx.compose.ui.node.LayoutNodeLayoutDelegate.MeasurePassDelegate.placeOuterCoordinator$lambda$4#internal + 335 at 110 APP 0x102cb9c3b kfun:androidx.compose.ui.node.LayoutNodeLayoutDelegate.MeasurePassDelegate.$placeOuterCoordinator$lambda$4$FUNCTION_REFERENCE$2.invoke#internal + 107 at 111 APP 0x102cb9dc3 kfun:androidx.compose.ui.node.LayoutNodeLayoutDelegate.MeasurePassDelegate.$placeOuterCoordinator$lambda$4$FUNCTION_REFERENCE$2.$invoke(){}#internal + 95 at 112 APP 0x10292adbf kfun:androidx.compose.runtime.snapshots.Snapshot.Companion#observe(kotlin.Function1<kotlin.Any,kotlin.Unit>?;kotlin.Function1<kotlin.Any,kotlin.Unit>?;kotlin.Function0<0:0>){0§<kotlin.Any?>}0:0 + 1179 at 113 APP 0x10296a06f kfun:androidx.compose.runtime.snapshots.SnapshotStateObserver.ObservedScopeMap.observe#internal + 855 at 114 APP 0x10296753b kfun:androidx.compose.runtime.snapshots.SnapshotStateObserver#observeReads(0:0;kotlin.Function1<0:0,kotlin.Unit>;kotlin.Function0){0§} + 699 at 115 APP 0x102d002ef kfun:androidx.compose.ui.node.OwnerSnapshotObserver#observeReads(0:0;kotlin.Function1<0:0,kotlin.Unit>;kotlin.Function0){0§} + 247 at 116 APP 0x102cffcdb kfun:androidx.compose.ui.node.OwnerSnapshotObserver#observeLayoutModifierSnapshotReads(androidx.compose.ui.node.LayoutNode;kotlin.Boolean;kotlin.Function0){} + 443 at 117 APP 0x102cb6e37 kfun:androidx.compose.ui.node.LayoutNodeLayoutDelegate.MeasurePassDelegate.placeOuterCoordinator#internal + 931 at 118 APP 0x102cb6a6b kfun:androidx.compose.ui.node.LayoutNodeLayoutDelegate.MeasurePassDelegate#placeAt(androidx.compose.ui.unit.IntOffset;kotlin.Float;kotlin.Function1<androidx.compose.ui.graphics.GraphicsLayerScope,kotlin.Unit>?){} + 1055 at 119 APP 0x102c4df6b kfun:androidx.compose.ui.layout.Placeable.PlacementScope#placeatandroidx.compose.ui.layout.Placeable(androidx.compose.ui.unit.IntOffset;kotlin.Float){} + 535 at 120 APP 0x102c4e0b3 kfun:androidx.compose.ui.layout.Placeable.PlacementScope#place$defaultatandroidx.compose.ui.layout.Placeable(androidx.compose.ui.unit.IntOffset;kotlin.Float;kotlin.Int){} + 283 at 121 APP 0x102def24b kfun:androidx.compose.foundation.layout.placeInBox#internal + 667 at 122 APP 0x102df076f kfun:androidx.compose.foundation.layout.boxMeasurePolicy$lambda$6$lambda$4#internal + 459 at 123 APP 0x102df2c0f kfun:androidx.compose.foundation.layout.$boxMeasurePolicy$lambda$6$lambda$4$FUNCTION_REFERENCE$7.invoke#internal + 143 at 124 APP 0x102df2e37 kfun:androidx.compose.foundation.layout.$boxMeasurePolicy$lambda$6$lambda$4$FUNCTION_REFERENCE$7.$invoke(androidx.compose.ui.layout.Placeable.PlacementScope){}#internal + 123 at 125 APP 0x102c4a7bb kfun:androidx.compose.ui.layout.MeasureScope.object-1.placeChildren#internal + 971 Signal: SIGABRT (signal SIGABRT)

No clue what's the issue here. Can you point me in the right direction? Thanks in advance.

surya071 commented 9 months ago

same problem , work fine with android but get error with ios simulator

zafar-apk commented 9 months ago

I am getting this error on IOS 17 simulator

3moly commented 8 months ago

Please, if it is not a secret, send the example of hierarchy of modules, where is moko-resources included in your project. Because It might be the multi-module issue. I faced the same issue like you in new project. I didn't enable the plugin id("dev.icerock.mobile.multiplatform-resources") in shared module, but it was in resources module. It is important for ios, all described in the readme Multi-module Gradle projects

anaesthez commented 8 months ago

Please, if it is not a secret, send the example of hierarchy of modules, where is moko-resources included in your project. Because It might be the multi-module issue. I faced the same issue like you in new project. I didn't enable the plugin id("dev.icerock.mobile.multiplatform-resources") in shared module, but it was in resources module. It is important for ios, all described in the readme Multi-module Gradle projects

have the same issue but I have plugins in both modules: module where resources are located and module where (feature-1) module where resources are used

shadmanadman commented 7 months ago

I have the same problem. I enabled the plugin. This is my build.gradle.kts file. What am I messing? Kotlin version: 1.9.20

plugins {
    alias(libs.plugins.kotlinMultiplatform)
    alias(libs.plugins.androidLibrary)
    alias(libs.plugins.realm)
    alias(libs.plugins.compose)
    alias(libs.plugins.ktorfit)
    id("dev.icerock.mobile.multiplatform-resources")
}

kotlin {
    applyDefaultHierarchyTemplate()
    androidTarget {
        compilations.all {
            kotlinOptions {
                jvmTarget = "1.8"
            }
        }
    }

    listOf(
        iosX64(),
        iosArm64(),
        iosSimulatorArm64(),
    ).forEach {
        it.binaries.framework {
            baseName = "shared"
            isStatic = true
            export(libs.moko.resources)
            export(libs.moko.graphics)
       }

    }

    sourceSets {
        val androidMain by getting {
            dependsOn(commonMain.get())

            dependencies {
                // Ktor
                implementation(libs.ktor.client.okhttp)
            }
        }
        val commonMain by getting{
            dependencies {
                // Compose
                implementation(compose.runtime)
                implementation(compose.foundation)
                implementation(compose.material3)
                implementation(compose.animation)
                implementation(compose.ui)

                // PreCompose
                implementation(libs.precompose)
                implementation(libs.precompose.koin)
                implementation(libs.precompose.viewmodel)

                // Realm
                implementation(libs.realm.base)
                implementation(libs.realm.sync)

                // KotlinX
                implementation(libs.kotlinx.coroutines.core)

                // Ktor
                implementation(libs.ktor.client.core)

                // Ktorfit
                implementation(libs.ktorfit.lib)

                // Kamel
                implementation(libs.kamel.image)

                // Moko
                implementation(libs.moko.compose)
                implementation(libs.moko.core)
                implementation(libs.moko.flow)
                implementation(libs.moko.flow.compose)
                implementation(libs.moko.livedata.compose)
                api(libs.moko.resources)
                api(libs.moko.resources.compose)

                // Gson
                implementation(libs.gson)

                // Koin
                implementation(libs.koin.core)
                implementation(libs.koin.test)
            }
        }
        commonTest.dependencies {
            implementation(libs.kotlin.test)
        }
        val iosX64Main by getting
        val iosArm64Main by getting
        val iosSimulatorArm64Main by getting
        val iosMain by getting {
            dependencies{
                implementation(libs.ktor.client.darwin)
            }
            dependsOn(commonMain)
            iosX64Main.dependsOn(this)
            iosArm64Main.dependsOn(this)
            iosSimulatorArm64Main.dependsOn(this)
        }
    }
}

android {
    sourceSets["main"].resources.srcDirs("src/commonMain/resources")
    namespace = "com.***.modern"
    compileSdk = 34
    defaultConfig {
        minSdk = 26
    }
}

multiplatformResources {
    multiplatformResourcesPackage = "com.***.modern"
    multiplatformResourcesClassName = "SharedRes"
    disableStaticFrameworkWarning = true
}
task("testClasses").doLast {
    println("This is a dummy testClasses task")
}

This is a hierarchy of my project:

SCR-20231127-njzf
shadmanadman commented 7 months ago

Finally, I fix my issue. Now the app runs on iOS perfectly. Here is what I have done:

  1. Right-click on the iosApp.xcodeproj. Select open in and then select Xcode
  2. After Xcode opens, select the root iosApp. Select the Build Phases tab and add a new Build Phase. Put the following script:
"$SRCROOT/../gradlew" -p "$SRCROOT/../" :shared:copyFrameworkResourcesToApp \
    -Pmoko.resources.PLATFORM_NAME="$PLATFORM_NAME" \
    -Pmoko.resources.CONFIGURATION="$CONFIGURATION" \
    -Pmoko.resources.ARCHS="$ARCHS" \
    -Pmoko.resources.BUILT_PRODUCTS_DIR="$BUILT_PRODUCTS_DIR" \
    -Pmoko.resources.CONTENTS_FOLDER_PATH="$CONTENTS_FOLDER_PATH" 
SCR-20231127-oddf
  1. save it and you're done.
MaciejHeintze commented 7 months ago

@shadmanadman thanks man it is actually working :)