Discussions
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" : [
{
Posted by SeongsuPark 10 months ago
AdaptyError (code 1001) No In-App Purchases were found.
Hi, I am getting the AdaptyError (code 1001) No In-App Purchases were found. when I have the product in the Adapty interface as well as in Apple Store Connect. I am not sure what is wrong.
Using flutter to include Adapty in app purchases on IOS
Posted by Richard Nettleship over 1 year ago
Code: 1001, AdaptyCode: NoProductsFound, Message: No In-App Purchases were found
"GetPaywalls Error: Domain: com.adapty.AdaptySDK, Code: 1001, AdaptyCode: NoProductsFound, Message: No In-App Purchases were found."
I'm using Unity 2021.3.3f1
I switched from RevenueCat before the transition everything worked.
Adapt.GetPaywalls returns response null.
Tested on a real device.
My Code:
public class PurchaseService : AdaptyEventListener, IPurchaseService
{
public event Action Initialized;
public Adapty.Product[] Products;
public void Initialize()
{
Adapty.SetEventListener(this);
Initialized?.Invoke();
}
public void GetProducts()
{
Adapty.GetPaywalls((response, error) =>
{
if (error != null)
{
Debug.LogWarning($"GetPaywalls Error: {error}");
return;
}
Adapty.Paywall paywall = response.Paywalls[0];
Products = paywall.Products;
});
}
public void MakePurchase(string productId)
{
Adapty.MakePurchase(productId, null, null, null, (_, error) =>
{
if (error != null)
{
Debug.LogWarning($"MakePurchase Error: {error}");
//return;
}
});
}
public void OnReceiveUpdatedPurchaserInfo(Adapty.PurchaserInfo purchaserInfo) { }
public void OnReceivePromo(Adapty.Promo promo) { }
public void OnDeferredPurchasesProduct(Adapty.Product product) { }
public void OnReceivePaywallsForConfig(Adapty.Paywall[] paywalls) { }
}
Posted by [email protected] about 1 year ago
Appsflyer integration is not working
> Hey, my Appsflyer integration is not working. It does seem, like Adapty is tracking subscription events, but they are not being passed to the AF
Posted by Ivan Kondrakov about 2 years ago
getPaywalls dont work
I am not able to list the products and paywalls with getPaywalls.
The error occurs in the emulator, in a project without Typescript.
An error message appears:
{ adaptyCode: 'billingUnavailable', localizedDescription: 'Play Market request failed: Billing service unavailable on device.'}
appID : com.apppathplus
Email: [email protected]
My code:
try {
adapty.paywalls.getPaywalls();
const paywalls = await adapty.paywalls.getPaywalls({forceUpdate: true});
//console.log('result-->',paywalls,products)
console.log('paywalls-->',paywalls)
}catch(AdaptyError) {
console.log('get_products-->',AdaptyError)
}
Can you help me?
Thanks,
André Alencar
Posted by André Alencar over 1 year ago
React native: Error code: 260, Apple sign in is required during adapty.activate
react-native-adapty version is 2.2.1
I am calling adapty.activate(MY_API_KEY) in useEffect, adapty becomes initialized, but along with that for some reason adapty makes an alert in app with title(Sign in to your apple account), this behaviour appears on real device and emulator too.
Also, in xcode appears this error message:
"[Adapty v2.2.2] - ERROR: SKReceiptManager: Receipt Data did not loaded. Error Domain=NSCocoaErrorDomain Code=260 "The file “receipt” couldn’t be opened because there is no such file."
Will be glad for any help.
Thank you in advance!
Posted by Taras Doloshytkyi 8 months ago
iOS build breaks after adding adapty pod
We're using Adapty react-native library. After Pod install we fall into cycle dependency during build:
Cycle in dependencies between targets 'Adapty' and 'AppAuth'; building could produce unreliable results. This usually can be resolved by moving the target's Headers build phase before Compile Sources.
Cycle path: Adapty → CryptoSwift → FBSDKCoreKit → FBSDKCoreKit-FacebookSDKStrings → BVLinearGradient → React → React-Core → boost-for-react-native → DoubleConversion → AppsFlyerFramework → AppAuth → Adapty
Headers build phase is already before Compile sources in Adapty.
Worth to mention, we're using a slightly different Podfile than standard react natives. We use almost all pods as statics and Adapty is specifically marked to be a dynamic framework.
Posted by Timur almost 2 years ago
How to consume an item
Hello,
I'm implementing Adapty for Android
And I could not find documentation for consumable items
The standard flow is: buy item -> add "coins" -> consume item
After you consume item google play billing library will not return this item to you again
What is the flow to deal with them using Adapty ?
Currently I get old purchases along with new ones. How to mark an item as consumed and stop getting it?
Maybe I should use "isOneTime" field to handle it correctly, but I can not find documentation/example how to use it
Could you direct me to the documentation or an example?
Thank you
Posted by Umid over 1 year ago
iOS kids app has been rejected for some reason depends on AdSupport
This is the apple reason
We noticed that your Kids Category app includes analytics, advertising and collects, transmits, or has the ability to share personal information or device information with third parties. Specifically:
- Your app includes third-party analytics or third-party advertising with the ability to collect, transmit or share identifiable information, including, for example, IDFA. We found that your app references the ASIdentifierManager API, which provides access to a user's IDFA, in the following location(s) in your binary:
• /System/Library/Frameworks/AdSupport.framework/AdSupport
It would be appropriate to remove all instances of “ASIdentifierManager” from your app, even if they are not utilized in your app's functionality.
after looking in my app directory and looking for any Ads support framework/library I found that Revenuecat support Ads how can i disable collecting idfa
Posted by Vitaly almost 2 years ago
Code 400. Google service account key is not set in Adapty dashboard
> Hey guys, we're trying to implement Adapty Android SDK and facing the following error:
>E/Adapty_v1.4.0: Request is unsuccessful. https://api.adapty.io/api/v1/sdk/in-apps/google/token/restore/ Code: 400, Response: {"errors":[{"detail":"Google service account key is not set in Adapty dashboard.","status":"400","source":{"pointer":"/data"},"code":"GOOGLE_SERVICE_ACCOUNT_KEY_IS_NOT_SET_ERROR"}]}
>
>I am not really sure what might be causing this. Can you look into this?
Posted by Ivan Kondrakov about 2 years ago