讲讲 Xcode 中丢失的 info.plist 文件

这里每天分享一个 iOS 的新知识,快来关注我吧

前言

做 iOS 开发的同学应该对 info.plist 文件都不陌生,其中包含了大量关于项目配置的选项。但是从 Xcode 13 开始,新项目中已经不包含 info.plist 文件了。

这个在 Xcode 13 的发行说明中也有提到:

Projects created from several templates no longer require configuration files such as entitlements and Info.plist files. Configure common fields in the target's Info tab, and build settings in the project editor.

我试了一下,如果创建的是 SwiftUI 项目,新项目的目录中已经完全不包含 这个文件了:

如果创建的是 storyboard UIKit 项目,info.plist 还在,只不过其中只有 Application Scene Manifest 字段。

更改 info.plist

虽然创建工程的时候不自带 info.plist 文件了,但是我们仍然可以像以前一样更改这个文件:

按照顺序导航到 Project → Targets → Info → Custom iOS Target Properties,可以看到这个文件的预览页面:

然后就可以在这里对 info.plist 文件进行更改了,其中有一点很奇怪的是,在这里的修改有的会同步到 info.plist 文件中,有的则不会,这个还没弄清楚原因,不过大家以后如果有修改这个文件的需求最好是通过 Targets 下的 info 栏修改。

恢复 info.plist 文件?

某些情况下(比如自动化脚本)会读取 info.plist 文件,如果没有这个文件的话就会比较麻烦,那么有没有可能恢复这个文件呢?下边有个办法可以尝试一下。

1、创建一个新的 info.plist 文件

这里假设你的新项目是 swiftUI 项目,如果是 storyboard UIKit 项目就不用再创建新的了。按快捷键 Command + N 创建一个新的 Property List 文件,并命名为 Info.plist

2、把 Target info 下的属性全部复制到新的 Info.plist 文件中

没有找到能够全选的方法,只能一个一个复制粘贴了。

3、设置路径

选中新的 info.plist 文件,右侧可以看到这个文件的路径,复制它。

然后来到 Project → Targets → Build Settings → Info.plist File,把刚刚复制的路径粘贴进去:

4、其他设置

除了上边的设置之外,还需要把 Generate Info.plist File 选项设置为 No:

然后来到 Build Phases 下的 Copy Bundle Resources 中,把 Info.plist 删除掉。

最后尝试编译一下,上边的步骤不出错的话会成功编译,然后可以通过新建的 Info.plist 文件修改一些属性,运行项目看看改动是否生效。至此,老的 Info.plist 文件又回来了。

这里每天分享一个 iOS 的新知识,快来关注我吧

本文同步自微信公众号 "iOS新知",每天准时分享一个新知识,这里只是同步,想要及时学到就来关注我吧!

相关推荐
恋猫de小郭16 小时前
Flutter Widget Preview 功能已合并到 master,提前在体验毛坯的预览支持
android·flutter·ios
万少20 小时前
第五款 HarmonyOS 上架作品 奇趣故事匣 来了
前端·harmonyos·客户端
点金石游戏出海1 天前
每周资讯 | Krafton斥资750亿日元收购日本动画公司ADK;《崩坏:星穹铁道》新版本首日登顶iOS畅销榜
游戏·ios·业界资讯·apple·崩坏星穹铁道
旷世奇才李先生1 天前
Swift 安装使用教程
开发语言·ios·swift
90后的晨仔1 天前
Xcode16报错: SDK does not contain 'libarclite' at the path '/Applicati
ios
finger244801 天前
谈一谈iOS线程管理
ios·objective-c
Digitally1 天前
如何将大型视频文件从 iPhone 传输到 PC
ios·iphone
梅名智1 天前
IOS 蓝牙连接
macos·ios·cocoa
美狐美颜sdk1 天前
跨平台直播美颜SDK集成实录:Android/iOS如何适配贴纸功能
android·人工智能·ios·架构·音视频·美颜sdk·第三方美颜sdk
恋猫de小郭2 天前
Meta 宣布加入 Kotlin 基金会,将为 Kotlin 和 Android 生态提供全新支持
android·开发语言·ios·kotlin