这是Xcode更新带来的坑。用新版Xcode创建新项目,Build Setting 会多一个选项:Generate Info.plist File,默认的该选项的值设置为YES。
所以,要想使我们在自己 Info.plist 设置的值生效,前提是需把 该选项的值改为NO,不让Xcode自动帮我们生成Info.plist文件。这样问题即可解决。
如下图所示:
ps:如果你是用新版本的 Xcode 直接创建的工程,默认会有上面的问题。关闭上面的自动生成 Info.plist 文件的选项后,需检查现有工程的 Info.plist 文件内容是否完整(是否具备应用名称、二进制名称、App版本等配置信息),如果不完整,需将 Info.plist 文件补充完整。因为此时Xcode不会自动帮你生成这些信息。补充内容可参考下面的配置(如无其他权限需求,可直接覆盖现有的 Info.plist 文件上的内容,或者覆盖之后根据具体情况作对应的修改):
CFBundleDevelopmentRegion
$(DEVELOPMENT_LANGUAGE)
CFBundleDisplayName
应用名称
CFBundleExecutable
$(EXECUTABLE_NAME)
CFBundleIdentifier
$(PRODUCT_BUNDLE_IDENTIFIER)
CFBundleInfoDictionaryVersion
6.0
CFBundleName
$(PRODUCT_NAME)
CFBundlePackageType
$(PRODUCT_BUNDLE_PACKAGE_TYPE)
CFBundleShortVersionString
$(MARKETING_VERSION)
CFBundleVersion
1
LSRequiresIPhoneOS
NSAppTransportSecurity
NSAllowsArbitraryLoads
NSUserTrackingUsageDescription
该标识符将用于向您投放个性化广告
UIApplicationSupportsIndirectInputEvents
UILaunchStoryboardName
LaunchScreen
UIMainStoryboardFile
Main
UIRequiredDeviceCapabilities
armv7
UISupportedInterfaceOrientations
UIInterfaceOrientationLandscapeLeft
UIInterfaceOrientationLandscapeRight
UISupportedInterfaceOrientations~ipad
UIInterfaceOrientationPortrait
UIInterfaceOrientationPortraitUpsideDown
UIInterfaceOrientationLandscapeLeft
UIInterfaceOrientationLandscapeRight
以上。感谢阅读!