如何配置capacitor 打包的ios app固定竖屏展示?

注:打包ios包需要使用xcode来进行打包,Xcode 提供了为 Apple 平台开发、测试和分发 App 所需的工具,包括预测代码补全、主流编码模型加持的生成式智能功能、高级分析和调试工具,以及适用于 Apple 设备的模拟器。因此打包ios包的前提是需要一台苹果电脑。

找到/ios/App/App/Info.plist文件,并打开,如下图:

XML 复制代码
<?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>CFBundleDevelopmentRegion</key>
	<string>en</string>
	<key>CFBundleDisplayName</key>
        <string>traction-digital-twin-mobile-app1</string>
	<key>CFBundleExecutable</key>
	<string>$(EXECUTABLE_NAME)</string>
	<key>CFBundleIdentifier</key>
	<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
	<key>CFBundleInfoDictionaryVersion</key>
	<string>6.0</string>
	<key>CFBundleName</key>
	<string>$(PRODUCT_NAME)</string>
	<key>CFBundlePackageType</key>
	<string>APPL</string>
	<key>CFBundleShortVersionString</key>
	<string>$(MARKETING_VERSION)</string>
	<key>CFBundleVersion</key>
	<string>$(CURRENT_PROJECT_VERSION)</string>
	<key>LSRequiresIPhoneOS</key>
	<true/>
	<key>UILaunchStoryboardName</key>
	<string>LaunchScreen</string>
	<key>UIMainStoryboardFile</key>
	<string>Main</string>
	<key>UIRequiredDeviceCapabilities</key>
	<array>
		<string>armv7</string>
	</array>
	<key>UISupportedInterfaceOrientations</key>
	<array>
		<!-- iPhone仅保留竖屏(Home 键在下的正常竖屏) -->
		<string>UIInterfaceOrientationPortrait</string>
		<!-- <string>UIInterfaceOrientationLandscapeLeft</string>
		<string>UIInterfaceOrientationLandscapeRight</string> -->
	</array>
	<key>UISupportedInterfaceOrientations~ipad</key>
	<array>
		<!-- iPad仅保留竖屏(Home 键在下的正常竖屏) -->
		<string>UIInterfaceOrientationPortrait</string>
		<!-- iPad允许倒竖屏 -->
		<string>UIInterfaceOrientationPortraitUpsideDown</string>
		<!-- <string>UIInterfaceOrientationLandscapeLeft</string>
		<string>UIInterfaceOrientationLandscapeRight</string> -->
	</array>
	<key>UIViewControllerBasedStatusBarAppearance</key>
	<true/>

	<!-- 通知权限描述 -->
	<key>NSLocalNotificationUsageDescription</key>
	<string>需要向您发送本地通知,提醒重要事项</string>

	<!-- 后台通知支持(可选,用于后台触发通知) -->
	<key>UIBackgroundModes</key>
	<array>
		<string>remote-notification</string>
	</array>

	<!-- iOS 10+ 通知声音配置(若使用自定义声音,需添加) -->
	<key>UILocalNotificationDefaultSoundName</key>
	<string>default</string> <!-- 使用系统默认声音,自定义声音需放入项目并指定文件名 -->
</dict>
</plist>

根据以下注释配置,将

<string>UIInterfaceOrientationLandscapeLeft</string>

<string>UIInterfaceOrientationLandscapeRight</string>

这两行注释掉, <key>UISupportedInterfaceOrientations</key> 这个是指对iPhone屏幕横竖屏的设置;**<key>UISupportedInterfaceOrientations~ipad</key>**则是指对iPad屏幕横竖屏的设置,保险起见,也把iPad的

<string>UIInterfaceOrientationLandscapeLeft</string>

<string>UIInterfaceOrientationLandscapeRight</string>这两个注释掉,然后重新运行ionic capacitor build ios进行打包安装,xcode打开项目后,建议检查一遍xcode上面的打包配置,检查步骤如图:

安装成功后的效果图:

以上是自己在项目里遇到的问题以及解决的方法,浅浅记录一下~

相关推荐
qq_589666052 小时前
TypeScript 完整入门教程
前端·javascript·typescript
2501_915918412 小时前
深入对比iOS开发中常用性能监控工具的底层原理与优缺点分析
android·ios·小程序·https·uni-app·iphone·webview
用户059540174465 小时前
LLM对话记忆测试踩坑实录:手工回归30分钟,自动化后2分钟发现3个隐藏Bug
前端·css
Ashley的成长之路7 小时前
前端性能优化实战手册·第2篇:资源加载策略全解
前端·性能优化·资源加载·http/3·性能优化实战·资源加载优化
浅水壁虎7 小时前
vue基础(第二章 )
前端·javascript·vue.js
界面开发小八哥7 小时前
界面控件DevExtreme v26.1新版亮点——支持Angular 22
前端·javascript·angular.js·devexpress·ui开发·devextreme
Getflare7 小时前
前端 + UI 设计 + AI:这不是三个工种,是一个新三角能力模型(附自检清单)
前端·人工智能·ui
oil欧哟7 小时前
我做了一个 Vibe Coding 术语学习站:VibeHub
前端·ai·agent·独立开发·vibe coding
审小匠OpenCPAi8 小时前
银行流水核查怎么自动化?单边匹配、双向勾稽与图聚类异常检测的工程对比
java·前端·人工智能·python·审计