【无标题】

iONSPlayer 1.3.0 发布 - 修改特定系统版本启动错误

版本更新内容

Hi~ o( ̄▽ ̄ )ブ,这个版本是个修复版本

复制代码
✅ 修复 iOS 特定系统版本下真机 SDL 窗口不显示:强制 OpenGL ES 后端 + 推迟启动时机 + 提升窗口层级
✅ 修复视频跳过后游戏触摸失效:同步 dismiss + 防御性视图清理
✅ 版本号:1.2.2 → 1.3.0(build 21 → 22)

详细说明

① iOS18 特定系统版本下真机启动不能

这个 bug 贼奇葩,其他系统版本没啥事,我手头恰好只有iOS26和iOS17的设备,也就没发现这个问题(模拟器无法复现,苹果得背个锅)。

在此感谢各位老哥们邮件的细心沟通

排查了一圈发现,是 iOS 上 SDL2 默认会去创建 Metal view(SDL_uikitmetalview)。在真机 UIWindowScene 关联场景下,Metal 渲染有时候不灵光,窗口就 GG 了。

这次咋修的?直接强制 SDL 用 OpenGL ES 2 后端,绕开 Metal 这条路。具体三板斧:

  1. SDL_HINT_RENDER_DRIVER 强制设成 opengles2
  2. 窗口标志加上 SDL_WINDOW_OPENGL
  3. 把游戏启动时机从 viewDidLoad 挪到 viewDidAppear 之后的下一个 RunLoop tick

② 由于上面的改动引发的问题

由于切换了OpenGL ES 2的渲染,结果视频播放后,点击事件又丢了。

这次的修法:

  • animated:YES 改成 animated:NO,dismiss 变成同步操作
  • 防御性清理:主动从 superview 把容器 view 拆下来,dismiss 完成后再兜底一次
  • 信号量放到最后才 signal,保证视图层级彻底拆完才让游戏线程跑

写在最后

说实话,1.3.0 是个实打实的"修修补补"版本,没加啥新功能。但是这两个 bug 修完之后,真机体验真的丝滑了不少 (´;ω;`)

如果升级到 1.3.0 之后还遇到啥奇葩问题,欢迎邮件沟通,mveditor@126.com。

相关推荐
zwd20056 小时前
词频是什么?生词滑块 zipf 3.0 到 5.0 怎么调:同一屏从 0 个生词到 11 个
ios·iphone·效率工具·英语学习·词频·屏幕翻译
茶底世界之下10 小时前
灯暖窗冷,色温要不要继续降?用 Awaking 看混合光的取舍
ios
2501_9160074714 小时前
Windows OpenSSL 生成 iOS 证书,制作 p12 与描述文件,KXBuild 签名实操
windows·vscode·ios·objective-c·个人开发·swift·敏捷流程
最强小杰17 小时前
gpt-image-2.5-sunburst + OpenAI SDK + Cline 怎么接?完整图生图与局部重绘教程
gpt·ios·ai·iphone
kk_net889917 小时前
FSNotes:macOS 和 iOS 上的开源笔记管理器
笔记·其他·macos·ios
00后程序员张17 小时前
Windows 开发 iOS App 入门,用 SwiftUI 写第一个 iOS App 装到 iPhone
ide·vscode·ios·objective-c·个人开发·swift·敏捷流程
2501_915106321 天前
抓包抓到乱码或压缩字节怎么解析,TraceEagle五种查看模式和一键解码
网络协议·计算机网络·网络安全·ios·adb·https·udp
andyweike2 天前
Swift
开发语言·ios·swift
茶底世界之下2 天前
白杯偏蓝,色温调到哪里该停?Awaking 两版正式导出
ios
2501_915921432 天前
KXBuild CI 实操,Windows/Linux 服务器接入 Jenkins 打包 iOS IPA
服务器·windows·vscode·ios·ci/cd·个人开发·敏捷流程