iOS 17 适配 Xcode 15 问题

在适配 iOS 17 + xcode 15时遇到的问题,记录一下。

1、 Could not build module 'WebKit'

bash 复制代码
type argument 'nw_proxy_config_t' (aka 'struct nw_proxy_config *') is neither an Objective-C object nor a block type

解决方案:

  1. 选中不能编译的库的xcodeproj,在Build Phrases -> Compile Sources,选中所有文件,Complier Flags 里删除 -DOS_OBJECT_USE_OBJC=0

可能是三方库的目标版本比较低,cocoapods兼容低版本自动加上了 -DOS_OBJECT_USE_OBJC=0,也可以修改库的podspec 的 s.platforms = { :ios => "11.0", :osx => "" } 重新 pod install

  1. 临时方案
    NSArray<nw_proxy_config_t> *proxyConfigurations 编译版本改为180000
    编辑文件 /Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.0.sdk/System/Library/Frameworks/WebKit.framework/Headers/WKWebsiteDataStore.h
    将里面的 170000 修改成 180000。

2、 Assertion failed

Assertion failed: (false && "compact unwind compressed function offset doesn't fit in 24 bits"), function operator(), file Layout.cpp, line 5758.

解决方法:Other Link Flags 添加-ld64 或者 -ld_classic

路径:Build Settings -> Linking - General -> Other Link Flags 添加-ld64 或者 -ld_classic

相关推荐
开心就好20252 小时前
不同阶段的 iOS 应用混淆工具怎么组合使用,源码混淆、IPA混淆
后端·ios
世界不及妳微笑2 小时前
关于Xcode26.4 踩坑适配
ios·xcode
iceiceiceice2 小时前
iOS 26 适配 | 使用 `hidesSharedBackground` 保持导航栏按钮原有样式
ios·objective-c·编程语言
SY.ZHOU4 小时前
移动端架构体系(一):组件化
android·ios·架构·系统架构
人月神话Lee10 小时前
一个iOS开发者对Flutter中Widget、Element和RenderObject的理解
前端·flutter·ios
2501_9160074710 小时前
iOS 开发工具有哪些 按开发流程整理的工具清单
ide·vscode·ios·objective-c·个人开发·swift·敏捷流程
2501_9159214311 小时前
2026 iOS 上架新趋势 iOS 发布流程模块化
android·ios·小程序·https·uni-app·iphone·webview
库奇噜啦呼12 小时前
【iOS】Effective Objective-C第四章
ios·objective-c·cocoa
开心就好20251 天前
使用Wireshark进行TCP数据包抓包分析:三次握手与四次挥手详解
后端·ios