First, ensure you're finishing transactions upon success/failure:In our case, the old code was not calling `SKPaymentQueue.default().finishTransaction(transaction)` to remove it from the queue. Prior to iOS 13.4, that apparently worked fine even though the documentation says it’s requiredSo what would happen is the dialog would show once and the person would cancel and then from that point on the transaction would persist in the queue and automatically return as cancelled without showing the dialog again. Finishing the transaction purges it and allows the dialog to show again---If that doesn't work:Per an Apple engineer's request, I filed a radar for this (FB7648374) with App Store logging and sysdiagnosePlease do the same:- Follow the instructions for App Store logging at https://developer.apple.com/bug-reporting/profiles-and-logs/- Install the profile on your device that enables verbose logging- Then repro the problem on your device w/ device logs running (Xcode -> Devices -> Console logs)- Then immediately capture a sysdiagnose- File a new radar with that information at https://feedbackassistant.apple.com/
Post
Replies
Boosts
Views
Activity
First, ensure you're finishing transactions upon success/failure:In our case, the old code was not calling `SKPaymentQueue.default().finishTransaction(transaction)` to remove it from the queue. Prior to iOS 13.4, that apparently worked fine even though the documentation says it’s requiredSo what would happen is the dialog would show once and the person would cancel and then from that point on the transaction would persist in the queue and automatically return as cancelled without showing the dialog again. Finishing the transaction purges it and allows the dialog to show again---If that doesn't work:Per an Apple engineer's request, I filed a radar for this (FB7648374) with App Store logging and sysdiagnosePlease do the same:- Follow the instructions for App Store logging at https://developer.apple.com/bug-reporting/profiles-and-logs/- Install the profile on your device that enables verbose logging- Then repro the problem on your device w/ device logs running (Xcode -> Devices -> Console logs)- Then immediately capture a sysdiagnose- File a new radar with that information at https://feedbackassistant.apple.com/
Any project using the CocoaPod for FBAudienceNetwork (v5.5.1) will do this at the linking stage in release buildsWe also see the same behavior in Google-Mobile-Ads-SDK as someone else pointed out⚠ld: ignoring invalid debug info in /Users/distiller/project/Pods/Answers/iOS/Answers.framework/Answers(ANSWriteEventOperation.o)⚠ld: ignoring invalid debug info in /Users/distiller/project/Pods/Fabric/iOS/Fabric.framework/Fabric(CLSMachOBinary.o)⚠ld: ignoring invalid debug info in /Users/distiller/project/Pods/FBAudienceNetwork/Static/FBAudienceNetwork.framework/FBAudienceNetwork(FBAdCrashHandler.m.o)⚠ld: ignoring invalid debug info in /Users/distiller/project/Pods/FBAudienceNetwork/Static/FBAudienceNetwork.framework/FBAudienceNetwork(FBAdKVOController.m.o)⚠ld: ignoring invalid debug info in /Users/distiller/project/Pods/FBAudienceNetwork/Static/FBAudienceNetwork.framework/FBAudienceNetwork(FBAdQualityViewabilityMeasurement.m.o)⚠ld: ignoring invalid debug info in /Users/distiller/project/Pods/FBAudienceNetwork/Static/FBAudienceNetwork.framework/FBAudienceNetwork(FBAdStaticLibAnalyzer.m.o)⚠ld: ignoring invalid debug info in /Users/distiller/project/Pods/FBAudienceNetwork/Static/FBAudienceNetwork.framework/FBAudienceNetwork(NSCoding+FBAdCoding.mm.o)⚠ld: ignoring invalid debug info in /Users/distiller/project/Pods/FBAudienceNetwork/Static/FBAudienceNetwork.framework/FBAudienceNetwork(FNFGLProgramUtil.mm.o)⚠ld: ignoring invalid debug info in /Users/distiller/project/Pods/FBAudienceNetwork/Static/FBAudienceNetwork.framework/FBAudienceNetwork(FNFDataBlockDistributor.mm.o)⚠ld: ignoring invalid debug info in /Users/distiller/project/Pods/FBAudienceNetwork/Static/FBAudienceNetwork.framework/FBAudienceNetwork(FNFMp4AtomManager.mm.o)⚠ld: ignoring invalid debug info in /Users/distiller/project/Pods/FBAudienceNetwork/Static/FBAudienceNetwork.framework/FBAudienceNetwork(FNFMp4StreamingParser.mm.o)⚠ld: ignoring invalid debug info in /Users/distiller/project/Pods/FBAudienceNetwork/Static/FBAudienceNetwork.framework/FBAudienceNetwork(FNFVodMp4FrameMetadataCompressor.mm.o)⚠ld: ignoring invalid debug info in /Users/distiller/project/Pods/FBAudienceNetwork/Static/FBAudienceNetwork.framework/FBAudienceNetwork(FNFDashTrackEntryContainer.mm.o)⚠ld: ignoring invalid debug info in /Users/distiller/project/Pods/FBAudienceNetwork/Static/FBAudienceNetwork.framework/FBAudienceNetwork(FNFMediaPresentationDescription.mm.o)⚠ld: ignoring invalid debug info in /Users/distiller/project/Pods/FBAudienceNetwork/Static/FBAudienceNetwork.framework/FBAudienceNetwork(FNFDecompressionHelpers.mm.o)⚠ld: ignoring invalid debug info in /Users/distiller/project/Pods/FBAudienceNetwork/Static/FBAudienceNetwork.framework/FBAudienceNetwork(FBBDSignalCollectionExecutorBuilder.m.o)⚠ld: ignoring invalid debug info in /Users/distiller/project/Pods/FBAudienceNetwork/Static/FBAudienceNetwork.framework/FBAudienceNetwork(unzip.c.o)ld: ignoring invalid debug info in /Users/distiller/project/Pods/Google-Mobile-Ads-SDK/Frameworks/GoogleMobileAdsFramework-Current/GoogleMobileAds.framework/GoogleMobileAds(GADNativeAdViewMonitor.o)⚠ld: ignoring invalid debug info in /Users/distiller/project/Pods/Google-Mobile-Ads-SDK/Frameworks/GoogleMobileAdsFramework-Current/GoogleMobileAds.framework/GoogleMobileAds(GADIssueHandler.o)⚠ld: ignoring invalid debug info in /Users/distiller/project/Pods/Google-Mobile-Ads-SDK/Frameworks/GoogleMobileAdsFramework-Current/GoogleMobileAds.framework/GoogleMobileAds(GADCrashReporter.o)⚠ld: ignoring invalid debug info in /Users/distiller/project/Pods/Google-Mobile-Ads-SDK/Frameworks/GoogleMobileAdsFramework-Current/GoogleMobileAds.framework/GoogleMobileAds(GADDataCompression.o)⚠ld: ignoring invalid debug info in /Users/distiller/project/Pods/Google-Mobile-Ads-SDK/Frameworks/GoogleMobileAdsFramework-Current/GoogleMobileAds.framework/GoogleMobileAds(GADSafeBrowsingMonitor.o)⚠ld: ignoring invalid debug info in /Users/distiller/project/Pods/Google-Mobile-Ads-SDK/Frameworks/GoogleMobileAdsFramework-Current/GoogleMobileAds.framework/GoogleMobileAds(GADContent.o)⚠ld: ignoring invalid debug info in /Users/distiller/project/Pods/Google-Mobile-Ads-SDK/Frameworks/GoogleMobileAdsFramework-Current/GoogleMobileAds.framework/GoogleMobileAds(GADNativeAdSignalCollector.o)
I've seen a lot of your great answers of the years, but this is one of the best. Thanks for always taking the time to dive into detail!
Just an fyi, it seems like the crash has been fixed in Xcode 11.5, but now the stack doesn't symbolize in the console dumpYou can still use `bt all` in the console to get a dump of threads or set the Thread Sanitizer breakpoint if needed