Discussions

Ask a Question
ANSWERED
ANSWERED
ANSWERED

Expo's EAS android build broken

I'm trying to use adapty with Expo (with expo-dev-client), which is going fine on iOS so far. On Android, when launching the eas build, I'm getting the following error : > Task :react-native-adapty:compileDebugKotlin [stderr] e: Incompatible classes were found in dependencies. Remove them from the classpath or use '-Xskip-metadata-version-check' to suppress errors [stderr] e: /home/expo/.gradle/caches/transforms-3/2ae867a2e11de942398247e9a7b7c6a4/transformed/jetified-kotlin-stdlib-jdk7-1.6.10.jar!/META-INF/kotlin-stdlib-jdk7.kotlin_module: Module was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.6.0, expected version is 1.4.1. I'm using the 2.3.1 react-native-adapty, everything is up to date on expo/eas side.
ANSWERED

Flutter Crash on Startup for iPhone 6 running iOS 12.4

It seems that after installing `adapty_flutter: 1.0.6` with the following versions of the package via Cocoapods `- Adapty (1.16.3) - adapty_flutter (1.0.0): - Adapty (= 1.16.3)` the application simply crash: ``` Exception Type: EXC_CRASH (SIGABRT) Exception Codes: 0x0000000000000000, 0x0000000000000000 Exception Note: EXC_CORPSE_NOTIFY Termination Reason: DYLD 1 Library missing Library not loaded: /System/Library/Frameworks/AdServices.framework/AdServices Referenced from: /Users/USER/Library/Developer/CoreSimulator/Devices/772E56D9-F7B8-460E-93D7-8DC2083F169F/data/Containers/Bundle/Application/03BB65BD-2F4D-418A-937B-FD851AC8F406/Runner.app/Runner Reason: image not found (terminated at launch; ignore backtrace) ```
ANSWERED

Preventing multiple application users from sharing single App Store subscription

I have a question regarding the interplay of Apple ID purchases and my application users. Let's say I have a user, Alice, who creates an application account and purchases a subscription to my app from her iPhone. Great. Now her friend, Bob, is borrowing her phone, so Alice logs out of her application account, and Bob logs into his own non-premium application account on Alice's phone. Bob decides he likes the app so much that he wants to buy the premium subscription, so Alice attempts to make the purchase for him while he's logged into his application user _on Alice's phone, with Alice's Apple ID._ In the ideal case, my application would throw an error, saying that the current Apple ID (Alice's) already has a subscription associated with a _different_ application account (Alice's application account). Is it possible to do this (to either prevent or void the purchase attempt) with the Adapty Swift SDK _without_ having to store some mapping on my own server? This feels like a check that you could do with `StoreKit` before completing a transaction, but since Adapty completes the transaction for you, I'm not sure how to perform this check. I want to avoid having multiple application accounts associated with a single Apple ID or somehow messing up the existing application user <--> apple ID mapping (for example, if Alice's subscription were modified by the subscription purchase on Bob's application user's behalf).
ANSWERED
ANSWERED

Non-subscription non-consumable purchases?

I am looking at options for easily adding in-app purchases to an older swift project of mine. I am looking at Adapty because I like your documentation on installing and implementing. However, this particular project I might proceed with a single purchase rather than subscription. Will Adapty’s features still be useful to me? Thanks

Apple Regarding Guideline 2.1 - Performance - App Completeness issue

Below is the lastExceptionBacktrace for EXC_CRASH","signal":"SIGABRT error. I don't know what the problem is because I keep getting rejected. What's wrong with both the test instrument and the emulator running normally? Please help me. --------- "exception" : {"codes":"0x0000000000000000, 0x0000000000000000","rawCodes":[0,0],"type":"EXC_CRASH","signal":"SIGABRT"}, "asi" : {"libsystem_c.dylib":["abort() called"]}, "lastExceptionBacktrace" : [{"imageOffset":40584,"symbol":"__exceptionPreprocess","symbolLocation":164,"imageIndex":7},{"imageOffset":96472,"symbol":"objc_exception_throw","symbolLocation":60,"imageIndex":4},{"imageOffset":4260204,"symbol":"-[UIStoryboard initWithBundle:storyboardFileName:identifierToNibNameMap:identifierToExternalStoryboardReferenceMap:designatedEntryPointIdentifier:designatedMenuIdentifier:]","symbolLocation":0,"imageIndex":9},{"imageOffset":2778512,"symbol":"-[UIApplication _loadMainStoryboardFileNamed:bundle:]","symbolLocation":80,"imageIndex":9},{"imageOffset":4071204,"symbol":"-[UIApplication _loadMainInterfaceFile]","symbolLocation":156,"imageIndex":9},{"imageOffset":3509984,"symbol":"-[UIApplication _runWithMainScene:transitionContext:completion:]","symbolLocation":688,"imageIndex":9},{"imageOffset":3509204,"symbol":"-[_UISceneLifecycleMultiplexer completeApplicationLaunchWithFBSScene:transitionContext:]","symbolLocation":132,"imageIndex":9},{"imageOffset":648704,"symbol":"_UIScenePerformActionsWithLifecycleActionMask","symbolLocation":108,"imageIndex":9},{"imageOffset":4065560,"symbol":"__101-[_UISceneLifecycleMultiplexer _evalTransitionToSettings:fromSettings:forceExit:withTransitionStore:]_block_invoke","symbolLocation":216,"imageIndex":9},{"imageOffset":2690980,"symbol":"-[_UISceneLifecycleMultiplexer _performBlock:withApplicationOfDeactivationReasons:fromReasons:]","symbolLocation":220,"imageIndex":9},{"imageOffset":2690508,"symbol":"-[_UISceneLifecycleMultiplexer _evalTransitionToSettings:fromSettings:forceExit:withTransitionStore:]","symbolLocation":620,"imageIndex":9},{"imageOffset":2689404,"symbol":"-[_UISceneLifecycleMultiplexer uiScene:transitionedFromState:withTransitionContext:]","symbolLocation":252,"imageIndex":9},{"imageOffset":2689096,"symbol":"__186-[_UIWindowSceneFBSSceneTransitionContextDrivenLifecycleSettingsDiffAction _performActionsForUIScene:withUpdatedFBSScene:settingsDiff:fromSettings:transitionContext:lifecycleActionType:]_block_invoke","symbolLocation":148,"imageIndex":9},{"imageOffset":9908136,"symbol":"+[BSAnimationSettings(UIKit) tryAnimatingWithSettings:fromCurrentState:actions:completion:]","symbolLocation":736,"imageIndex":9},{"imageOffset":10534808,"symbol":"_UISceneSettingsDiffActionPerformChangesWithTransitionContextAndCompletion","symbolLocation":224,"imageIndex":9},{"imageOffset":1296728,"symbol":"-[_UIWindowSceneFBSSceneTransitionContextDrivenLifecycleSettingsDiffAction _performActionsForUIScene:withUpdatedFBSScene:settingsDiff:fromSettings:transitionContext:lifecycleActionType:]","symbolLocation":316,"imageIndex":9},{"imageOffset":5961640,"symbol":"__64-[UIScene scene:didUpdateWithDiff:transitionContext:completion:]_block_invoke.214","symbolLocation":556,"imageIndex":9},{"imageOffset":2158776,"symbol":"-[UIScene _emitSceneSettingsUpdateResponseForCompletion:afterSceneUpdateWork:]","symbolLocation":216,"imageIndex":9},{"imageOffset":2158376,"symbol":"-[UIScene scene:didUpdateWithDiff:transitionContext:completion:]","symbolLocation":244,"imageIndex":9},{"imageOffset":2155644,"symbol":"-[UIApplication workspace:didCreateScene:withTransitionContext:completion:]","symbolLocation":520,"imageIndex":9},{"imageOffset":2155016,"symbol":"-[UIApplicationSceneClientAgent scene:didInitializeWithEvent:completion:]","symbolLocation":288,"imageIndex":9},{"imageOffset":13568,"symbol":"-[FBSScene _callOutQueue_agent_didCreateWithTransitionContext:completion:]","symbolLocation":344,"imageIndex":6},{"imageOffset":271644,"symbol":"__92-[FBSWorkspaceScenesClient createSceneWithIdentity:parameters:transitionContext:completion:]_block_invoke.78","symbolLocation":120,"imageIndex":6},{"imageOffset":29332,"symbol":"-[FBSWorkspace _calloutQueue_executeCalloutFromSource:withBlock:]","symbolLocation":168,"imageIndex":6},{"imageOffset":270676,"symbol":"__92-[FBSWorkspaceScenesClient createSceneWithIdentity:parameters:transitionContext:completion:]_block_invoke","symbolLocation":360,"imageIndex":6},{"imageOffset":16348,"symbol":"_dispatch_client_callout","symbolLocation":20,"imageIndex":5},{"imageOffset":31324,"symbol":"_dispatch_block_invoke_direct","symbolLocation":264,"imageIndex":5},{"imageOffset":70576,"symbol":"__FBSSERIALQUEUE_IS_CALLING_OUT_TO_A_BLOCK__","symbolLocation":52,"imageIndex":6},{"imageOffset":69452,"symbol":"-[FBSSerialQueue _targetQueue_performNextIfPossible]","symbolLocation":220,"imageIndex":6},{"imageOffset":79660,"symbol":"-[FBSSerialQueue _performNextFromRunLoopSource]","symbolLocation":28,"imageIndex":6},{"imageOffset":876372,"symbol":"__CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__","symbolLocation":28,"imageIndex":7},{"imageOffset":926508,"symbol":"__CFRunLoopDoSource0","symbolLocation":176,"imageIndex":7},{"imageOffset":418320,"symbol":"__CFRunLoopDoSources0","symbolLocation":244,"imageIndex":7},{"imageOffset":506792,"symbol":"__CFRunLoopRun","symbolLocation":836,"imageIndex":7},{"imageOffset":528084,"symbol":"CFRunLoopRunSpecific","symbolLocation":612,"imageIndex":7},{"imageOffset":4968,"symbol":"GSEventRunModal","symbolLocation":164,"imageIndex":8},{"imageOffset":3810256,"symbol":"-[UIApplication _run]","symbolLocation":888,"imageIndex":9},{"imageOffset":3809332,"symbol":"UIApplicationMain","symbolLocation":340,"imageIndex":9},{"imageOffset":20020,"imageIndex":10},{"imageOffset":88416,"symbol":"start","symbolLocation":2528,"imageIndex":11}], "faultingThread" : 0, "threads" : [{"triggered":true,"id":9053960,"threadState":{"x":[{"value":0},{"value":0},{"value":0},{"value":0},{"value":8014860533},{"value":6168469872},{"value":110},{"value":18446744069414585088},{"value":8105439342030203636},{"value":8105439341549105204},{"value":512},{"value":11},{"value":11},{"value":2095104},{"value":2043},{"value":2669736033},{"value":328},{"value":8181848768,"symbolLocation":0,"symbol":"_main_thread"},{"value":0},{"value":6},{"value":259},{"value":8181848992,"symbolLocation":224,"symbol":"_main_thread"},{"value":0},{"value":8181848992,"symbolLocation":224,"symbol":"_main_thread"},{"value":10753606800},{"value":8191538856,"symbolLocation":0,"symbol":"CFRunLoopRunSpecific.runloopNestingLevel"},{"value":0},{"value":554827989},{"value":7286573440,"symbolLocation":0,"symbol":"tlv_get_addr"}],"flavor":"ARM_THREAD_STATE64","lr":{"value":8015630764},"cpsr":{"value":1073741824},"fp":{"value":6168469728},"sp":{"value":6168469696},"esr":{"value":1442840704,"description":" Address size fault"},"pc":{"value":7743382016,"matchesCrashFrame":1},"far":{"value":8136736592}},"queue":"com.apple.main-thread","frames":[{"imageOffset":29184,"symbol":"__pthread_kill","symbolLocation":8,"imageIndex":0},{"imageOffset":29100,"symbol":"pthread_kill","symbolLocation":268,"imageIndex":1},{"imageOffset":134284,"symbol":"abort","symbolLocation":180,"imageIndex":2},{"imageOffset":72588,"symbol":"abort_message","symbolLocation":132,"imageIndex":3},{"imageOffset":6784,"symbol":"demangling_terminate_handler()","symbolLocation":336,"imageIndex":3},{"imageOffset":122172,"symbol":"_objc_terminate()","symbolLocation":144,"imageIndex":4},{"imageOffset":69416,"symbol":"std::__terminate(void (*)())","symbolLocation":20,"imageIndex":3},{"imageOffset":69316,"symbol":"std::terminate()","symbolLocation":56,"imageIndex":3},{"imageOffset":16368,"symbol":"_dispatch_client_callout","symbolLocation":40,"imageIndex":5},{"imageOffset":31324,"symbol":"_dispatch_block_invoke_direct","symbolLocation":264,"imageIndex":5},{"imageOffset":70576,"symbol":"__FBSSERIALQUEUE_IS_CALLING_OUT_TO_A_BLOCK__","symbolLocation":52,"imageIndex":6},{"imageOffset":69452,"symbol":"-[FBSSerialQueue _targetQueue_performNextIfPossible]","symbolLocation":220,"imageIndex":6},{"imageOffset":79660,"symbol":"-[FBSSerialQueue _performNextFromRunLoopSource]","symbolLocation":28,"imageIndex":6},{"imageOffset":876372,"symbol":"__CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__","symbolLocation":28,"imageIndex":7},{"imageOffset":926508,"symbol":"__CFRunLoopDoSource0","symbolLocation":176,"imageIndex":7},{"imageOffset":418320,"symbol":"__CFRunLoopDoSources0","symbolLocation":244,"imageIndex":7},{"imageOffset":506792,"symbol":"__CFRunLoopRun","symbolLocation":836,"imageIndex":7},{"imageOffset":528084,"symbol":"CFRunLoopRunSpecific","symbolLocation":612,"imageIndex":7},{"imageOffset":4968,"symbol":"GSEventRunModal","symbolLocation":164,"imageIndex":8},{"imageOffset":3810256,"symbol":"-[UIApplication _run]","symbolLocation":888,"imageIndex":9},{"imageOffset":3809332,"symbol":"UIApplicationMain","symbolLocation":340,"imageIndex":9},{"imageOffset":20020,"imageIndex":10},{"imageOffset":88416,"symbol":"start","symbolLocation":2528,"imageIndex":11}]},{"id":9053962,"queue":"com.google.GDTCORFlatFileStorage","frames":[{"imageOffset":10600,"symbol":"fstatat","symbolLocation":8,"imageIndex":0},{"imageOffset":62296,"symbol":"_mkpath","symbolLocation":156,"imageIndex":2},{"imageOffset":389996,"symbol":"-[NSFileManager createDirectoryAtPath:withIntermediateDirectories:attributes:error:]","symbolLocation":112,"imageIndex":12},{"imageOffset":81968,"symbol":"GDTCORRootDirectory","symbolLocation":112,"imageIndex":13},{"imageOffset":60564,"symbol":"__45+[GDTCORFlatFileStorage eventDataStoragePath]_block_invoke","symbolLocation":36,"imageIndex":13},{"imageOffset":16348,"symbol":"_dispatch_client_callout","symbolLocation":20,"imageIndex":5},{"imageOffset":22568,"symbol":"_dispatch_once_callout","symbolLocation":32,"imageIndex":5},{"imageOffset":60524,"symbol":"+[GDTCORFlatFileStorage eventDataStoragePath]","symbolLocation":216,"imageIndex":13},{"imageOffset":56800,"symbol":"__44-[GDTCORFlatFileStorage checkForExpirations]_block_invoke","symbolLocation":608,"imageIndex":13},{"imageOffset":9396,"symbol":"_dispatch_call_block_and_release","symbolLocation":32,"imageIndex":5},{"imageOffset":16348,"symbol":"_dispatch_client_callout","symbolLocation":20,"imageIndex":5},{"imageOffset":46740,"symbol":"_dispatch_lane_serial_drain","symbolLocation":672,"imageIndex":5},{"imageOffset":49632,"symbol":"_dispatch_lane_invoke","symbolLocation":384,"imageIndex":5},{"imageOffset":93712,"symbol":"_dispatch_workloop_worker_thread","symbolLocation":652,"imageIndex":5},{"imageOffset":3576,"symbol":"_pthread_wqthread","symbolLocation":288,"imageIndex":1},{"imageOffset":2968,"symbol":"start_wqthread","symbolLocation":8,"imageIndex":1}]},{"id":9053963,"frames":[{"imageOffset":2960,"symbol":"start_wqthread","symbolLocation":0,"imageIndex":1}]},{"id":9053964,"frames":[{"imageOffset":2960,"symbol":"start_wqthread","symbolLocation":0,"imageIndex":1}]},{"id":9053965,"frames":[{"imageOffset":2960,"symbol":"start_wqthread","symbolLocation":0,"imageIndex":1}]},{"id":9053966,"name":"com.apple.uikit.eventfetch-thread","frames":[{"imageOffset":2888,"symbol":"mach_msg2_trap","symbolLocation":8,"imageIndex":0},{"imageOffset":77832,"symbol":"mach_msg2_internal","symbolLocation":80,"imageIndex":0},{"imageOffset":78408,"symbol":"mach_msg_overwrite","symbolLocation":388,"imageIndex":0},{"imageOffset":4236,"symbol":"mach_msg","symbolLocation":24,"imageIndex":0},{"imageOffset":502512,"symbol":"__CFRunLoopServiceMachPort","symbolLocation":160,"imageIndex":7},{"imageOffset":507188,"symbol":"__CFRunLoopRun","symbolLocation":1232,"imageIndex":7},{"imageOffset":528084,"symbol":"CFRunLoopRunSpecific","symbolLocation":612,"imageIndex":7},{"imageOffset":271156,"symbol":"-[NSRunLoop(NSRunLoop) runMode:beforeDate:]","symbolLocation":212,"imageIndex":12},{"imageOffset":270876,"symbol":"-[NSRunLoop(NSRunLoop) runUntilDate:]","symbolLocation":64,"imageIndex":12},{"imageOffset":5075772,"symbol":"-[UIEventFetcher threadMain]","symbolLocation":436,"imageIndex":9},{"imageOffset":374792,"symbol":"__NSThread__start__","symbolLocation":716,"imageIndex":12},{"imageOffset":5836,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":1},{"imageOffset":2980,"symbol":"thread_start","symbolLocation":8,"imageIndex":1}]},{"id":9053967,"frames":[{"imageOffset":2960,"symbol":"start_wqthread","symbolLocation":0,"imageIndex":1}]}], "usedImages" : [ {