讲讲 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新知",每天准时分享一个新知识,这里只是同步,想要及时学到就来关注我吧!

相关推荐
EricStone21 小时前
VibeCoding工程流程学习二:iOS项目架构
ios·vibecoding
壹方秘境2 天前
使用ApiCatcher在 iOS 上像修改 hosts 一样自定义域名解析
前端·后端·客户端
天桥吴彦祖3 天前
判断iOS如何监听手机屏幕是否锁屏
ios
东坡肘子3 天前
SPI 加入 Apple,Swift 迈向自举 -- 肘子的 Swift 周报 #142
人工智能·swiftui·swift
敲代码的鱼4 天前
PDF 预览与签名批注写回 支持安卓 iOS 鸿蒙 UTS插件
android·前端·ios
时光足迹4 天前
uni-app 视频通话实战:康复师与患者视频问诊的 6 个致命 Bug 与解决方案
android·ios·uni-app
时光足迹4 天前
JPush UniApp UTS 插件完全参考手册:API、事件与厂商通道一网打尽
vue.js·ios·uni-app
时光足迹4 天前
极光推送全攻略(下):uni-app 代码实现与 iOS 排查实战
vue.js·ios·uni-app
时光足迹4 天前
极光推送全攻略(上):被iOS证书折磨了三天,我写了一份前端也能看懂的避坑指南
前端·ios·uni-app
编程范式5 天前
SwiftUI 中图片如何适配可用空间
ios