I build app success full, but app is crash when it's install and start on simulator, please help to resolve the issue. xcode version 16.3
dyld`__abort_with_payload: Thread 1: ****** SIGABRT
Console error log: dyld[27267]: Symbol not found: _$sSo18WKPDFConfigurationC6WebKitE4rectSo6CGRectVSgvs Referenced from: <9ED011A5-B4BE-3B0B-98C6-0AFAF76A5B6C> ..../Library/Developer/CoreSimulator/Devices/C94520D8-031D-4D91-8050-859E0951D1A6/data/Containers/Bundle/Application/522BF7A2-7633-4FF1-BA02-130727B8E65C/App.app/Frameworks/flutter_inappwebview_ios.framework/flutter_inappwebview_ios Expected in: <0085D0EC-09E4-3699-ACE9-9B0C20B090BB> /Library/Developer/CoreSimulator/Volumes/iOS_22C150/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 18.2.simruntime/Contents/Resources/RuntimeRoot/System/Library/Frameworks/WebKit.framework/WebKit Symbol not found: _$sSo18WKPDFConfigurationC6WebKitE4rectSo6CGRectVSgvs Referenced from: <9ED011A5-B4BE-3B0B-98C6-0AFAF76A5B6C> ..../Library/Developer/CoreSimulator/Devices/C94520D8-031D-4D91-8050-859E0951D1A6/data/Containers/Bundle/Application/522BF7A2-7633-4FF1-BA02-130727B8E65C/App.app/Frameworks/flutter_inappwebview_ios.framework/flutter_inappwebview_ios Expected in: <0085D0EC-09E4-3699-ACE9-9B0C20B090BB> /Library/Developer/CoreSimulator/Volumes/iOS_22C150/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 18.2.simruntime/Contents/Resources/RuntimeRoot/System/Library/Frameworks/WebKit.framework/WebKit dyld config: DYLD_SHARED_CACHE_DIR=.../Library/Developer/CoreSimulator/Caches/dyld/24D81/com.apple.CoreSimulator.SimRuntime.iOS-18-2.22C150 DYLD_ROOT_PATH=/Library/Developer/CoreSimulator/Volumes/iOS_22C150/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 18.2.simruntime/Contents/Resources/RuntimeRoot DYLD_LIBRARY_PATH=...../Library/Developer/Xcode/DerivedData/App-fdpvmjxapalesmhcoroqmpqwlxxm/Build/Products/Debug-iphonesimulator:/Library/Developer/CoreSimulator/Volumes/iOS_22C150/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 18.2.simruntime/Contents/Resources/RuntimeRoot/usr/lib/system/introspection DYLD_INSERT_LIBRARIES=/Library/Developer/CoreSimulator/Volumes/iOS_22C150/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 18.2.simruntime/Contents/Resources/RuntimeRoot/usr/lib/libLogRedirect.dylib:/Library/Developer/CoreSimulator/Volumes/iOS_22C150/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 18.2.simruntime/Contents/Resources/RuntimeRoot/usr/lib/libBacktraceRecording.dylib:/Library/Developer/CoreSimulator/Volumes/iOS_22C150/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 18.2.simruntime/Contents/Resources/RuntimeRoot/usr/lib/libMainThreadChecker.dylib:/usr/lib/libRPAC.dylib:/Library/Developer/CoreSimulator/Volumes/iOS_22C150/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 18.2.simruntime/Contents/Resources/RuntimeRoot/usr/lib/libViewDebuggerSupport.dylib DYLD_FRAMEWORK_PATH=.....Library/Developer/Xcode/DerivedData/App-fdpvmjxapalesmhcoroqmpqwlxxm/Build/Products/Debug-iphonesimulator DYLD_FALLBACK_FRAMEWORK_PATH=/Library/Developer/CoreSimulator/Volumes/iOS_22C150/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 18.2.simruntime/Contents/Resources/RuntimeRoot/System/Library/Frameworks DYLD_FALLBACK_LIBRARY_PATH=/Library/Developer/CoreSimulator/Volumes/iOS_22C150/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 18.2.simruntime/Contents/Resources/RuntimeRoot/usr/lib
aarozco wrote:
are you able to reproduce on iOS 18.2
Ah, I missed that point. Thanks for bringing it to my attention.
Note It’s better to reply as a reply, rather than in the comments; see Quinn’s Top Ten DevForums Tips for this and other titbits.
I just created a new project from a template and added a button that calls this func:
Cool. I was able to distill this down even further, with a new app and a button that calls this:
func test() {
let config = WKPDFConfiguration()
print(config.rect ?? .zero)
}
As to what’s going on here, as far as I can tell this is a bug in the iOS simulator SDK [1] and I encourage you to file it as such.
Please post your bug number, just for the record.
Share and Enjoy
—
Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"
[1] I took my app and ran it on the iOS 18.4 simulator. That worked. I then ran it on the iOS 18.0 simulator and got this:
dyld[38131]: Symbol not found: _$sSo18WKPDFConfigurationC6WebKitE4rectSo6CGRectVSgvg
Referenced from: <…/Test780782.debug.dylib
Expected in: <…/WebKit.framework/WebKit
The missing symbol is the getter for the rect
property:
% swift demangle '_$sSo18WKPDFConfigurationC6WebKitE4rectSo6CGRectVSgvg'
_$sSo18WKPDFConfigurationC6WebKitE4rectSo6CGRectVSgvg ---> (extension in WebKit):__C.WKPDFConfiguration.rect.getter : __C.CGRect?
That symbol is present in the iOS 18.4 simulator:
% nm "/Library/Developer/CoreSimulator/Volumes/iOS_22E238/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 18.4.simruntime/Contents/Resources/RuntimeRoot/System/Library/Frameworks/WebKit.framework/WebKit" | grep WKPDFConfiguration
…
0000000000de12f9 S $ld$previous$/usr/lib/swift/libswiftWebKit.dylib$$7$10.16$15.4$_$sSo18WKPDFConfigurationC6WebKitE4rectSo6CGRectVSgvg$
…
000000000000312c T _$sSo18WKPDFConfigurationC6WebKitE4rectSo6CGRectVSgvg
…
but not present in the iOS 18.0 one:
% nm "/Library/Developer/CoreSimulator/Volumes/iOS_22A3351/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 18.0.simruntime/Contents/Resources/RuntimeRoot/System/Library/Frameworks/WebKit.framework/WebKit" | grep WKPDFConfiguration
… no reference to _$sSo18WKPDFConfigurationC6WebKitE4rectSo6CGRectVSgvg …
The reason for that relates to the second symbol in the iOS 18.4 output, that is:
$ld$previous$/usr/lib/swift/libswiftWebKit.dylib$$7$10.16$15.4$_$sSo18WKPDFConfigurationC6WebKitE4rectSo6CGRectVSgvg$
I’m not sure if that symbol format is documented anywhere, but it’s pretty easy to understand:
-
$ld$previous$
indicates that the symbol moved into this library from some other library. -
/usr/lib/swift/libswiftWebKit.dylib
is the original library. -
7
is the platform, which in this case isPLATFORM_IOSSIMULATOR
as defined in<mach-o/loader.h>
. -
10.16
and15.4
is the range of OS releases where the symbol was present in that other library. Note that this is a half closed range, that is10.16 ..< 15.4
. -
_$sSo18WKPDFConfigurationC6WebKitE4rectSo6CGRectVSgvg
is the symbol name.
This symbol tells the static linker that the rect
getter moved from the WebKit Swift overlay (libswiftWebKit.dylib
) into the WebKit framework proper in iOS 18.4. Except it doesn’t. Because that the range is the macOS range [2], not the iOS range. For iOS, and hence the iOS simulator, I’d expect to see 14.0
and 18.4
. So, because my app’s deployment target is iOS 18.0, it doesn’t fall into that range, so the static linker records a reference to the framework rather than the overlay, and thus the dynamic linker is unable to find the symbol.
Amusingly, if I change my app’s deployment target to iOS 15.0, it launches, because iOS 15.0 is less than macOS 15.4 (-: Needless to say, that’s not a great workaround.
[2] In this context, 10.16 is macOS 11.