iOS日常积累SwiftUI

iOS 新版Xcode项目Info.plist设置横竖屏无效

2022-03-16  本文已影响0人  笔头还没烂

这是Xcode更新带来的坑。用新版Xcode创建新项目,Build Setting 会多一个选项:Generate Info.plist File,默认的该选项的值设置为YES。
所以,要想使我们在自己 Info.plist 设置的值生效,前提是需把 该选项的值改为NO,不让Xcode自动帮我们生成Info.plist文件。这样问题即可解决。

如下图所示:


image.png

ps:如果你是用新版本的 Xcode 直接创建的工程,默认会有上面的问题。关闭上面的自动生成 Info.plist 文件的选项后,需检查现有工程的 Info.plist 文件内容是否完整(是否具备应用名称、二进制名称、App版本等配置信息),如果不完整,需将 Info.plist 文件补充完整。因为此时Xcode不会自动帮你生成这些信息。补充内容可参考下面的配置(如无其他权限需求,可直接覆盖现有的 Info.plist 文件上的内容,或者覆盖之后根据具体情况作对应的修改):

<?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>$(DEVELOPMENT_LANGUAGE)</string>
    <key>CFBundleDisplayName</key>
    <string>应用名称</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>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string>
    <key>CFBundleShortVersionString</key>
    <string>$(MARKETING_VERSION)</string>
    <key>CFBundleVersion</key>
    <string>1</string>
    <key>LSRequiresIPhoneOS</key>
    <true/>
    <key>NSAppTransportSecurity</key>
    <dict>
        <key>NSAllowsArbitraryLoads</key>
        <true/>
    </dict>
    <key>NSUserTrackingUsageDescription</key>
    <string>该标识符将用于向您投放个性化广告</string>
    <key>UIApplicationSupportsIndirectInputEvents</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>
        <string>UIInterfaceOrientationLandscapeLeft</string>
        <string>UIInterfaceOrientationLandscapeRight</string>
    </array>
    <key>UISupportedInterfaceOrientations~ipad</key>
    <array>
        <string>UIInterfaceOrientationPortrait</string>
        <string>UIInterfaceOrientationPortraitUpsideDown</string>
        <string>UIInterfaceOrientationLandscapeLeft</string>
        <string>UIInterfaceOrientationLandscapeRight</string>
    </array>
</dict>
</plist>

以上。感谢阅读!

上一篇下一篇

猜你喜欢

热点阅读