Files
youle_app_ios_v2/ylgamehall/Info.plist
T
joywayerandClaude Opus 4.7 a6433d9e95 修复启动图方向:Info.plist 补顶层 UISupportedInterfaceOrientations
Xcode 26 General → Deployment Info UI 只把 orientation 写入带后缀的
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone / _iPad,**没有**
顶层无后缀的 UISupportedInterfaceOrientations。LaunchScreen 阶段 iOS 处于
device idiom 尚未识别的早期窗口,只看顶层无后缀 key —— 缺失时 fallback
到 portrait 渲染再被旋转 90° 适配横屏设备,视觉表现是 splash 内容横躺
在中间一个竖向矩形里。

修复:在 Info.plist 显式补一份无后缀 UISupportedInterfaceOrientations =
landscape。Build 后 .app 内 Info.plist 三个 key(无后缀 + ~iphone +
~ipad)齐全,LaunchScreen 正确按 landscape 渲染。

参考:原 daoqi/msext 用的也是顶层无后缀 key(iOS 9 时代写法)+
ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME 自动旋转 portrait 资源;新项目
LaunchScreen.storyboard 没有自动旋转魔法,必须显式补 key。

注:开发期间改 Info.plist orientation 后 Xcode 覆盖安装不会刷 iOS
launch snapshot 缓存,需长按删除 app 重装才能看到新效果;终端用户
不受影响(IPA 首次安装即按当前 Info.plist 渲染)。

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-22 03:59:14 +08:00

52 lines
2.0 KiB
Plaintext

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>UIApplicationSceneManifest</key>
<dict>
<key>UIApplicationSupportsMultipleScenes</key>
<false/>
<key>UISceneConfigurations</key>
<dict>
<key>UIWindowSceneSessionRoleApplication</key>
<array>
<dict>
<key>UISceneConfigurationName</key>
<string>Default Configuration</string>
<key>UISceneDelegateClassName</key>
<string>$(PRODUCT_MODULE_NAME).SceneDelegate</string>
</dict>
</array>
</dict>
</dict>
<key>NSAppTransportSecurity</key>
<dict>
<!-- 企业签 / 超签分发场景,后端域名可能调整(zip CDN / 配置服 / 七牛 / 错误日志
上报等),白名单维护成本高于安全收益。决策:全局放行,由代码层面通过 HTTPS
优先 + URLSession session 校验保证非白名单的第三方 SDK 流量自身仍走加密通道。
详见 ADR-008 / CLAUDE.md「不上架 App Store,通过企业签 / 超签 / TF 分发」。 -->
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
<key>UIRequiresFullScreen</key>
<true/>
<key>UIStatusBarHidden</key>
<false/>
<key>UIViewControllerBasedStatusBarAppearance</key>
<true/>
<!--
LaunchScreen 阶段(iOS 在 app 进程尚未启动、device idiom 尚未识别的早期窗口)
只看顶层 UISupportedInterfaceOrientations,不识别 ~iphone / ~ipad 后缀变体。
Xcode 26 的 General → Deployment Info UI 只会写 INFOPLIST_KEY_*_iPhone /
INFOPLIST_KEY_*_iPad 两条带后缀的 key,会导致 LaunchScreen 默认 portrait 渲染、
再被旋转 90° 适配横屏设备(视觉:splash 内容横躺)。在 Info.plist 里显式补一份
无后缀 key 修复 LaunchScreen orientation。
-->
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
</dict>
</plist>