Post

Replies

Boosts

Views

Activity

Crash using NSMutableAttributedString with an HMTL document inside a collection view - iOS 18, XCode 16
We're attempting to upgrade to XCode 16 but are encountering a consistent crash when doing so. The actual exception message comes from the UICollectionView, with this message and stack trace. *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Expected dequeued view to be returned to the collection view in preparation for display. When the collection view's data source is asked to provide a view for a given index path, ensure that a single view is dequeued and returned to the collection view. Avoid dequeuing views without a request from the collection view. For retrieving an existing view in the collection view, use -[UICollectionView cellForItemAtIndexPath:] or -[UICollectionView supplementaryViewForElementKind:atIndexPath:]. Dequeued view: <Redacted: 0x17831f080; baseClass = UICollectionViewCell; frame = (16 923.667; 408 450); layer = <CALayer: 0x6000004ad680>>; Collection view: <UICollectionView: 0x10ca67000; frame = (0 0; 440 809.667); clipsToBounds = YES; gestureRecognizers = <NSArray: 0x600000d41e60>; backgroundColor = <UIDynamicProviderColor: 0x600000285640; provider = <__NSMallocBlock__: 0x600000c7aac0>>; layer = <CALayer: 0x600000322400>; contentOffset: {0, 139.66666666666666}; contentSize: {440, 3247.625}; adjustedContentInset: {0, 0, 34, 0}; layout: <UICollectionViewCompositionalLayout: 0x15a8732a0>; dataSource: <_TtGC5UIKit34UICollectionViewDiffableDataSourceOC8Redacted_: 0x60000000ead0>>' *** First throw call stack: ( 0 CoreFoundation 0x00000001804b910c __exceptionPreprocess + 172 1 libobjc.A.dylib 0x0000000180092da8 objc_exception_throw + 72 2 Foundation 0x0000000180e67c70 _userInfoForFileAndLine + 0 3 UIKitCore 0x00000001852348a4 __43-[UICollectionView _updateVisibleCellsNow:]_block_invoke.445 + 136 4 UIKitCore 0x0000000185b2a42c -[_UICollectionViewSubviewManager removeAllDequeuedViewsWithEnumerator:] + 188 5 UIKitCore 0x000000018523436c -[UICollectionView _updateVisibleCellsNow:] + 4000 6 UIKitCore 0x0000000185234288 -[UICollectionView _updateVisibleCellsNow:] + 3772 7 UIKitCore 0x0000000185239174 -[UICollectionView layoutSubviews] + 284 8 UIKitCore 0x00000001860a3418 -[UIView(CALayerDelegate) layoutSublayersOfLayer:] + 2404 9 QuartzCore 0x000000018b335624 _ZN2CA5Layer16layout_if_neededEPNS_11TransactionE + 432 10 QuartzCore 0x000000018b3403f8 _ZN2CA5Layer28layout_and_display_if_neededEPNS_11TransactionE + 124 11 QuartzCore 0x000000018b272430 _ZN2CA7Context18commit_transactionEPNS_11TransactionEdPd + 464 12 QuartzCore 0x000000018b2a0c70 _ZN2CA11Transaction6commitEv + 652 13 QuartzCore 0x000000018b2a21c4 _ZN2CA11Transaction25flush_as_runloop_observerEb + 68 14 UIKitCore 0x0000000185b302fc _UIApplicationFlushCATransaction + 48 15 UIKitCore 0x0000000185a60eb4 __setupUpdateSequence_block_invoke_2 + 352 16 UIKitCore 0x00000001850a5cec _UIUpdateSequenceRun + 76 17 UIKitCore 0x0000000185a60858 schedulerStepScheduledMainSection + 168 18 UIKitCore 0x0000000185a5fc90 runloopSourceCallback + 80 19 CoreFoundation 0x000000018041d294 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 24 20 CoreFoundation 0x000000018041d1dc __CFRunLoopDoSource0 + 172 21 CoreFoundation 0x000000018041c99c __CFRunLoopDoSources0 + 324 22 CoreFoundation 0x0000000180416e84 __CFRunLoopRun + 788 23 CoreFoundation 0x00000001804166f4 CFRunLoopRunSpecific + 552 24 UIFoundation 0x0000000184c5c0c0 -[NSHTMLReader _loadUsingWebKit] + 1416 25 UIFoundation 0x0000000184c5cbe8 -[NSHTMLReader attributedString] + 20 26 UIFoundation 0x0000000184bdc3c8 _NSReadAttributedStringFromURLOrDataCommon + 2760 27 UIFoundation 0x0000000184bd82d4 _NSReadAttributedStringFromURLOrData + 180 28 UIFoundation 0x0000000184bd81b8 -[NSAttributedString(NSAttributedStringUIFoundationAdditions) initWithData:options:documentAttributes:error:] + 144 29 Redacted.debug.dylib 0x000000010f53b6d0 $sSo25NSMutableAttributedStringC4data7options18documentAttributesAB10Foundation4DataV_SDySo012NSAttributedC24DocumentReadingOptionKeyaypGSAySo12NSDictionaryCSgGSgtKcfcTO + 204 30 Redacted.debug.dylib 0x000000010f53a984 $sSo25NSMutableAttributedStringC4data7options18documentAttributesAB10Foundation4DataV_SDySo012NSAttributedC24DocumentReadingOptionKeyaypGSAySo12NSDictionaryCSgGSgtKcfC + 76 31 Redacted.debug.dylib 0x000000010f53a860 $sSS8RedactedE20htmlAttributedStringSo09NSMutablecD0CSgyF + 572 32 Redacted.debug.dylib 0x000000010fbddf54 $s8Redacted + 132 33 Redacted.debug.dylib 0x000000010fbde71c $s8Redacted + 196 34 Redacted.dylib 0x000000010f75b1d0 $s8Redacted + 544 35 Redacted.dylib 0x000000010f2ca174 $s8Redacted + 2052 36 Redacted.debug.dylib 0x000000010e7e6884 $s8Redacted 37 Redacted.debug.dylib 0x000000010e7de9f0 $s8Redacted + 2376 38 Redacted.debug.dylib 0x000000010f336820 $s8Redacted 39 UIKitCore 0x0000000184f0c3e8 block_destroy_helper.22 + 18032 40 UIKitCore 0x0000000184f109a4 block_destroy_helper + 11080 41 UIKitCore 0x0000000184f0e810 block_destroy_helper + 2484 42 UIKitCore 0x00000001851aa8f0 -[__UIDiffableDataSource collectionView:cellForItemAtIndexPath:] + 136 libc++abi: terminating due to uncaught exception of type NSException The collection view cell being dequed contains a string that is created from HTML content with NSMutableAttributedString This line is where execution stop data: data, options: [.documentType: NSAttributedString.DocumentType.html], documentAttributes: nil ) This code has worked fine for years but now inexplicably is crashing. I've seen various similiar posts related to iOS 18 but none with a resolution
0
1
166
1w
Running Watch test target from the command line
We can now create dedicated watch extension unit test targets in XCode 12.5. I've had no trouble getting this to work via XCode, but I'm struggling to work out how to correctly build and run the tests from the command line using xcodebuild. Running the test target using xcodebuild always produces the same error related to unavailable destinations, despite the destination being available. xcodebuild: error: Unable to find a destination matching the provided destination specifier: { name:iPhone 12 Pro Max } The requested device could not be found because no available devices matched the request. Available destinations for the "Tracking" scheme: { platform:iOS Simulator, id:D021919E-4F3C-48CE-A0DF-29051DF0E1A4, OS:14.5, name:iPhone 12 } { platform:iOS Simulator, id:795802A8-C2C6-4AEB-97BD-D2135D2758FB, OS:14.5, name:iPhone 12 Pro } { platform:iOS Simulator, id:6080176F-8319-4726-B487-E764966D34FB, OS:14.5, name:iPhone 12 Pro Max } { platform:iOS Simulator, id:04698195-28BA-487F-88B4-F06854ECCAD8, OS:14.5, name:iPhone 12 mini }
0
0
841
May ’21