You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Xcode16+iOS18环境下启动崩溃,报错_objc_warn_deprecated

iOS 18 上从 Xcode 启动应用立即崩溃问题

问题现象

  • 使用 Xcode 16.0/16.1 在 iOS 18.0/18.1 设备上构建并运行应用时,启动后立即崩溃,栈追踪如下:
0 libobjc.A.dylib`_objc_warn_deprecated
1 realizeClassWithoutSwift
2 map_images_nolock
3 map_images
4 invocation function for block in dyld4::RuntimeState::setObjCNotifiers(void (*)(char const", mach_header const*), void (*)(mach_header con...apped_info const*), void (*) (unsigned int, _dyld _objc_notify_mapped_info const*, void (unsigned int) block_pointer))::$_0::operator)( const
5 dyld4::RuntimeLocks::withLoadersReadLock
6 dyld4::RuntimeState::setObjCNotifiers
7 dyld4::APIs::_dyld_objc_register_callbacks
8_objc_init
9_os_object_init
10 libdispatch_init
11 libSystem_initializer
12 invocation function for block in dyld4::Loader::findAndRunAllInitializers(dyld4::RuntimeState&) const
13 invocation function for block in dyld3::MachOAnalyzer::forEachinitializer(Diagnostics&, dyld3::MachOAnalyzer::VMAddrConverter const&, void (unsigned int) block_pointer, void const*) const
14 invocation function for block in dyld3::MachOFile::forEachSection(void (dyld3::MachOFile::SectionInfo const&, bool, bool&) block_pointer) const
15 dyld3::MachOFile::forEachLoadCommand
16 dyld3::MachOFile::forEachSection
17 dyld3::MachOAnalyzer::forEachInitializer
18 dyld4::Loader::findAndRunAllinitializers
19 dyld4::JustInTimeLoader::runInitializers
20 dyld4::APIs::runAllinitializersForMain
21 dyld4:: prepare
22 dyld4::start(dyld4::KernelArgs*, void*, void*)::$_0::operatori() const
23 start
  • 相同 Xcode 版本下,在 iOS 15 或 iOS 17 设备上运行应用可正常构建启动,仅出现一条无关警告(旧系统运行成功时也会出现):
warning: (arm64) /Users/username/Library/Developer/Xcode/DerivedData/AppName-gevkjrdhpvsixnciokrsaracikam/Build/Products/Debug-iphoneos/AppName.app/AppName empty dSYM file detected, dSYM was created with an executable with no debug info.

背景操作

应用最初基于 Objective-C 编写,后大部分迁移至 Swift,保留了少量 Objective-C 类及桥接文件。为解决 iOS 18 SDK 中 PDFDocument.h 的构建错误(已向 Apple 反馈 FB15106102),我注释了 .pch 文件中的 #import "AppName-Swift.h" 并清理构建文件夹,移除了 Objective-C 到 Swift 的桥接(剩余 Objective-C 代码无需引用 Swift 类)。修改后应用在旧系统正常,但 iOS 18 上启动崩溃。已找到 realizeClassWithoutSwift 源码,但未找到 libobjc.A.dylib _objc_warn_deprecated 相关信息,已向 Apple 反馈崩溃问题(FB15106573)。

更新信息

  • 通过方案移除了控制台警告,但崩溃问题仍存在;发现仅从 Xcode 运行时崩溃,手动点击设备上的应用图标可正常运行。
  • 升级到 Xcode 16.1 和 iOS 18.1 后,问题依旧。

内容的提问来源于stack exchange,提问作者arlomedia

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 12:06:00