I’m facing a weird error message when i close my app on physical device. I did the same in Simulator and nothing like this happened.
Also tried setting an "on event raise" breakpoint but XCode says "failed to set breakpoint site at 0x1b3a7edd0 for breakpoint 4.2:"
Any ideas on what could cause this?
2021-04-08 20:40:15.985908+0200 GoMom[21503:2008470] [SwiftUI] Invalid frame dimension (negative or non-finite).
2021-04-08 20:40:15.986074+0200 GoMom[21503:2008470] [SwiftUI] Invalid frame dimension (negative or non-finite).
2021-04-08 20:40:15.990231+0200 GoMom[21503:2008470] *** Terminating app due to uncaught exception 'CALayerInvalidGeometry', reason: 'CALayer position contains NaN: [nan nan]. Layer: <CALayer:0x2824151a0; position = CGPoint (2 8); bounds = CGRect (0 0; 595 4); delegate = <UIView: 0x114d07cc0; frame = (2 8; 595 4); anchorPoint = (0, 0); autoresizesSubviews = NO; layer = <CALayer: 0x2824151a0>>; opaque = YES; allowsGroupOpacity = YES; anchorPoint = CGPoint (0 0); _swiftUI_displayListID = 1469; backgroundColor = <CGColor 0x2800f2220> [<CGColorSpace 0x2800ed200> (kCGColorSpaceICCBased; kCGColorSpaceModelRGB; sRGB IEC61966-2.1; extended range)] ( 1 1 1 0.232 )>'
*** First throw call stack:
(0x19e95d86c 0x1b3976c50 0x19e8564a4 0x1a1d85db4 0x1a1d85ce4 0x1a55f5378 0x1a58f1e38 0x1a58efb78 0x1a58eea8c 0x1a56585f0 0x1a53b09d0 0x1a5658158 0x1a5657f0c 0x1a565793c 0x1a5657f2c 0x1a565793c 0x1a5657f2c 0x1a565793c 0x1a56576d0 0x1a5657580 0x1a57167f4 0x1a52ca0ac 0x1a5868434 0x1a585e2c8 0x1a59e8f90 0x1a59e8fc4 0x1a185fec4 0x1a1d7a644 0x1a1d7ab18 0x1a1d8f30c 0x1a1cd4640 0x1a1cffb08 0x1a1d00e98 0x19e8d8358 0x19e8d25c4 0x19e8d2b74 0x19e8d221c 0x1b649c784 0x1a1312ee8 0x1a131875c 0x1003c93ac 0x19e5926b0)
libc++abi.dylib: terminating with uncaught exception of type NSException
*** Terminating app due to uncaught exception 'CALayerInvalidGeometry', reason: 'CALayer position contains NaN: [nan nan]. Layer: <CALayer:0x2824151a0; position = CGPoint (2 8); bounds = CGRect (0 0; 595 4); delegate = <UIView: 0x114d07cc0; frame = (2 8; 595 4); anchorPoint = (0, 0); autoresizesSubviews = NO; layer = <CALayer: 0x2824151a0>>; opaque = YES; allowsGroupOpacity = YES; anchorPoint = CGPoint (0 0); _swiftUI_displayListID = 1469; backgroundColor = <CGColor 0x2800f2220> [<CGColorSpace 0x2800ed200> (kCGColorSpaceICCBased; kCGColorSpaceModelRGB; sRGB IEC61966-2.1; extended range)] ( 1 1 1 0.232 )>'
terminating with uncaught exception of type NSException
warning: failed to set breakpoint site at 0x1b3976c14 for breakpoint 2.1: error sending the breakpoint request
warning: failed to set breakpoint site at 0x1b3976c14 for breakpoint 3.1: error sending the breakpoint request
warning: failed to set breakpoint site at 0x1b3976c14 for breakpoint 4.1: error sending the breakpoint request
warning: failed to set breakpoint site at 0x1b3a7edd0 for breakpoint 4.2: error sending the breakpoint request
2
Answers
There are 2 possibilities
First, you are using
.infinity
in the wrong frame methodThis method requires a finite value.
You can only use it in one of the
max....
parameters.Second, you are doing a calculation in a frame that is resulting in a negative value.
The
- 10
making the result negative.Without a Minimal Reproducible Example it is impossible to tell you exactly where the issue is but this should get you close.
As @lorem Ipsum says at the end of its answer, without more information is difficult to solve this type of error.
I’m writing this to help another one with the same problem, after debugging for 20 minutes I found that the problem was I had 3 infinite numbers… so SwiftUI can’t work with that.
To anyone with this error, debug with patience and follow the breakpoints to really see where the UI breaks, then dig out if the error comes from a number you are setting for a frame or a bad init of the frame itself.