Crash on startup

On app minor update, after moving to xcode 15.2

Any thoughts on what could be causing it?

Thank you in advance.

Replies

Here is the crash log, wasn't letting me link it in the original message for some reason: https://shorturl.at/uGKMV

Any thoughts on what could be causing it?

First suspect would be a change in your code. Are you sure to have checked any change you made since last version.

Could you post the crashlog here directly (I do not visit websites I don't know about) ?

Is is iOS app, UIKit, SwiftUI ? Please provide some context.

Here it is (for some reason I was getting a forum error about sensitive language when I linked it direct before) . And no, the changes were to remove some function calls much later than startup, which is where the crash happens.

Ok, short message above since I was half expecting the filter to throw it out again. This is an iOS app, the crash happens on startup of the application, and only on one of the tester's devices. The changes I made are much later in the code, but I did update to xcode 15.2 and was forced to update the minimum deployment from 10 to 12 as a result, which I'm guessing is more likely to be relevant to the issue.

Thank you for all the help!

If you’re having problems posting a crash report, please join me over on this thread. I’m trying to collect problematic examples so that I can escalate this.

As to the actual crash, the presence of the Last Exception Backtrace section indicates that your app crashed due to an unhandled language exception. Check out that backtrace:

Last Exception Backtrace:
0   CoreFoundation     … __exceptionPreprocess + 216
1   libobjc.A.dylib    … objc_exception_throw + 56
2   CoreFoundation     … __CFDictionaryCreateGeneric + 0
3   UIFoundation       … UINibDecoderDecodeObjectForValue + 408
4   UIFoundation       … UINibDecoderDecodeObjectForValue + 1256
5   UIFoundation       … -[UINibDecoder decodeObjectForKey:] + 320
6   UIKitCore          … -[UIView initWithCoder:] + 980
7   UIKitCore          … -[UIControl initWithCoder:] + 72
8   UIKitCore          … -[UITextField initWithCoder:] + 96
9   UIFoundation       … UINibDecoderDecodeObjectForValue + 700
10  UIFoundation       … -[UINibDecoder decodeObjectForKey:] + 320
11  UIKitCore          … -[UIRuntimeConnection initWithCoder:] + 128
12  UIFoundation       … UINibDecoderDecodeObjectForValue + 700
13  UIFoundation       … UINibDecoderDecodeObjectForValue + 1256
14  UIFoundation       … -[UINibDecoder decodeObjectForKey:] + 320
15  UIKitCore          … -[NSCoder(UIIBDependencyInjectionInternal) _decodeObjectsWithSourceSegueTemplate:creator:sender:forKey:] + 488
16  UIKitCore          … -[UINib instantiateWithOwner:options:] + 1048
17  UIKitCore          … -[NSBundle(UINSBundleAdditions) loadNibNamed:owner:options:] + 144
18  UIKitCore          … -[UIApplication _loadMainNibFileNamed:bundle:] + 84
19  UIKitCore          … -[UIApplication _loadMainInterfaceFile] + 276
20  UIKitCore          … -[UIApplication _runWithMainScene:transitionContext:completion:] + 932
21  UIKitCore          … -[_UISceneLifecycleMultiplexer completeApplicationLaunchWithFBSScene:transitionContext:] + 148
22  UIKitCore          … _UIScenePerformActionsWithLifecycleActionMask + 96
23  UIKitCore          … __101-[_UISceneLifecycleMultiplexer _evalTransitionToSettings:fromSettings:forceExit:withTransitionStore:]_block_invoke + 188
24  UIKitCore          … -[_UISceneLifecycleMultiplexer _performBlock:withApplicationOfDeactivationReasons:fromReasons:] + 240
25  UIKitCore          … -[_UISceneLifecycleMultiplexer _evalTransitionToSettings:fromSettings:forceExit:withTransitionStore:] + 744
26  UIKitCore          … -[_UISceneLifecycleMultiplexer uiScene:transitionedFromState:withTransitionContext:] + 336
27  UIKitCore          … __186-[_UIWindowSceneFBSSceneTransitionContextDrivenLifecycleSettingsDiffAction _performActionsForUIScene:withUpdatedFBSScene:settingsDiff:fromSettings:transitionContext:lifecycleActionType:]_block_invoke + 188
28  UIKitCore          … +[BSAnimationSettings(UIKit) tryAnimatingWithSettings:actions:completion:] + 812
29  UIKitCore          … _UISceneSettingsDiffActionPerformChangesWithTransitionContext + 248
30  UIKitCore          … -[_UIWindowSceneFBSSceneTransitionContextDrivenLifecycleSettingsDiffAction _performActionsForUIScene:withUpdatedFBSScene:settingsDiff:fromSettings:transitionContext:lifecycleActionType:] + 356
31  UIKitCore          … __64-[UIScene scene:didUpdateWithDiff:transitionContext:completion:]_block_invoke.578 + 772
32  UIKitCore          … -[UIScene _emitSceneSettingsUpdateResponseForCompletion:afterSceneUpdateWork:] + 248
33  UIKitCore          … -[UIScene scene:didUpdateWithDiff:transitionContext:completion:] + 264
34  UIKitCore          … -[UIApplication workspace:didCreateScene:withTransitionContext:completion:] + 560
35  UIKitCore          … -[UIApplicationSceneClientAgent scene:didInitializeWithEvent:completion:] + 360
36  FrontBoardServices … -[FBSScene _callOutQueue_agent_didCreateWithTransitionContext:completion:] + 412
37  FrontBoardServices … __94-[FBSWorkspaceScenesClient createWithSceneID:groupID:parameters:transitionContext:completion:]_block_invoke.180 + 100
38  FrontBoardServices … -[FBSWorkspace _calloutQueue_executeCalloutFromSource:withBlock:] + 232
39  FrontBoardServices … __94-[FBSWorkspaceScenesClient createWithSceneID:groupID:parameters:transitionContext:completion:]_block_invoke + 312
40  libdispatch.dylib  … _dispatch_client_callout + 16
41  libdispatch.dylib  … _dispatch_block_invoke_direct$VARIANT$mp + 220
42  FrontBoardServices … __FBSSERIALQUEUE_IS_CALLING_OUT_TO_A_BLOCK__ + 40
43  FrontBoardServices … -[FBSSerialQueue _targetQueue_performNextIfPossible] + 176
44  FrontBoardServices … -[FBSSerialQueue _performNextFromRunLoopSource] + 24
45  CoreFoundation     … __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 24
46  CoreFoundation     … __CFRunLoopDoSource0 + 204
47  CoreFoundation     … __CFRunLoopDoSources0 + 256
48  CoreFoundation     … __CFRunLoopRun + 768
49  CoreFoundation     … CFRunLoopRunSpecific + 572
50  GraphicsServices   … GSEventRunModal + 160
51  UIKitCore          … -[UIApplication _run] + 1080
52  UIKitCore          … UIApplicationMain + 336
53  myappname          … 0x100144000 + 4846364
54  dyld               … start + 444

It looks like the system is loading your initial scene and that’s failed due to a nib problem. Frame 8 suggests its decoding a text field.

Note that this is on iOS 15.8.1:

OS Version:          iPhone OS 15.8.1 (19H380)

Have you tried connecting an iOS 15 device to your Mac and running the app directly from Xcode?

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

Thanks a lot for the help Eskimo!

After some digging and testing, I got an emulator going with a close enough config to the user in question and an now getting a much more meaningful crash when I run on the emulator (ipadmini 4, 15.5):

Thread 1: "Could not instantiate class named _UITouchPassthroughView because no class named _UITouchPassthroughView was found; the class needs to be defined in source code or linked in from a library (ensure the class is part of the correct target)"

Unfortunately I'm at a bit of an inpass. There seem to be no docs on said class, so I strongly suspect it's some internal class added/used automatically in newer versions of xcode, perhaps on views or text fields or something like that. And it didn't exist in version 15.5.

Any thoughts? Thanks!

In case anyone else runs into this, my fix/hack was to just add:

@interface _UITouchPassthroughView: UIView

@end

@implementation _UITouchPassthroughView

@end

To my code. Reasoning being I strongly suspect _UITouchPassthroughView is some sort of internal class freshly added to xcode textfields etc, which is in some way not supported in older xcode versions. Now I have minimal use of the xcode ui views other than the bare bones for my game to use, so there's no downside to using a dummy class as it seems my text field is not using any functionality from _UITouchPassthroughView anyways. So it all works OK in new or old ios versions. For anyone else who actually uses the xcode view ecosystem, you prob need to check class isn't defined before defining it, or some such.

This suggests that your nibs (or storyboards) have incorrect deployment target info.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

Ah! You were right. The target for the xib was set to 17.

However I've changed it to 12, to match the project on ios, and if I remove my _UITouchPassthroughView hack I still get the same crash.

( I wish I could post screenshots, but apparently attach - image does nothing here).

( I wish I could post screenshots, but apparently attach - image does nothing here).

Weird. Let’s see if image attachments are working for me…

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

Yep, that worked.

Please try posting your image again. If you still have problems, please start a thread tagged with Forums Feedback and I’ll use that to see if we can figure out why things are failing.

And, as a workaround here, upload your image to your favourite image sharing site and then just post a link. Post the link in the clear, per the advice in Quinn’s Top Ten DevForums Tips.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

Ok, let's try again:

So here's my project config: https://imgur.com/a/Dwp0cQ6 https://imgur.com/a/thiIyBY

And here's the xib config: https://imgur.com/a/peqkO3x

Both set to 12, still getting the same issue. Any other ideas?

Thanks for that info.

At this point I’ve exhausted my (very limited) UIKit Fu. If no one else chimes in, I recommend that you open a DTS tech support incident and talk to one of our UIKit experts.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"