纯Appdelegate控制的老项目适配Xcode27(iOS27SDK)

1.Appdelegate控制窗口不再被支持(UIKit的情况下),需要修改成UIScene

老一点的UIKit打底的Swift或者OC项目基本上都是通过Appdelegate来管理窗口的。但是在iOS27之后,不再支持纯Appdelegate,如果是UIKit项目,则必须要求引入UIScene,也就是SceneDelegate。

对于老项目而言,只要把Appdelegate中管理窗口的部分,全部移植到SceneDelegate里,也就是Appdelegate只做一些初始化或者第三方库的配置工作。然后再在项目中用到Appdelegate(里的窗口)的部分,全部替换成SceneDelegate,就可以解决问题。

注意一点,如果修改之后能正常编译,但黑屏;这代表需要在添加完成SceneDelegate之后,必须在Info里添加SceneDelegate相关的字段,否则系统无法识别你正在用它管理窗口。

如果是一开始就用UIScene管理窗口,具体可以看用UIScene管理窗口生命周期那一期。https://blog.csdn.net/qq_27328363/article/details/167039113?spm=1001.2014.3001.5501

2. Xcode27只支持iOS15.0版本以上,需要在Minimum Deployments处修改最低构建版本为至少15.0;

大概率跑起来会发现第三方库支持的版本也过低,不被Xcode27支持,所以还需要修改第三方库的最低版本(如果是SPM直接Update to Latest就行了,Cocoapods安装的第三方库,则需要手动修改Podfile)

platform :ios, '16.0'

相关推荐
2501_915921431 天前
详细教程:使用Perfdog工具测量iOS应用的功耗性能与优化方法
android·macos·ios·小程序·uni-app·cocoa·iphone
OliverQiu2 天前
开源一个 macOS 小工具:集中管理 ChatGPT 的网络启动配置
macos·chatgpt·swiftui·mac·proxy·codex·dmg
天神哥哥啊2 天前
cocos联调注意事项-IOS
ios·cocoa·xcode
wangDer_me2 天前
将mac电脑变成一个虚拟打印机
macos·电脑
加载力科技2 天前
Mac 打开 ISO 文件完整教程:3 种方法挂载与解压,挂载失败也能提取文件
macos·命令模式·磁盘工具·mac打开iso·hdiutil·iso解压·mac技巧
Web Security Loop2 天前
MAC安装最新Burpsuite pro详细步骤教程
web安全·macos·网络安全·安全性测试
Raspberry_Pi_官方账号3 天前
Raspberry Pi Desktop 全面升级,现已登陆 PC 和 Mac
服务器·网络·macos·树莓派·raspberry pi·raspberrypios
king13598745503 天前
EmbeddingGemma 2 270M 实测:Mac CPU、PDF/Word、256d 与 FTS5
macos·pdf·word
Patrick在香港3 天前
同一份脚本,mac 正常 Windows 乱码:open() 默认编码实测(附 3.15 终局)
utf-8·windows·python·macos·跨平台·编码·标准库