繁体   English   中英

如何确保应用程序 info.plist 包含 CFBundleIdentifier 的值?

[英]How to Ensure the apps info.plist contains a value for CFBundleIdentifier?

该应用程序不会在模拟器或设备上运行,但当我去设备上获取它时,问题就开始了。 运行最新最好的 Xcode 和 macOS。 欢迎提出任何建议。

挑战

在此处输入图像描述

我怀疑这个问题与单元测试目标有关,但在“签名和功能”中也有奇怪的行为,当我输入包标识符“com.sw.fw”并点击输入时,文本字段中的文本消失并且“签名(发布)”副本与该捆绑包 ID 一起出现在下方。 我还使用适当的捆绑 ID com.sw.fw创建了一个新的移动配置文件

我也知道 Xcode 正在使用我给它的 bundle id 做一些事情,因为它出现在developer.apple.comCertificates, Identifiers & Profiles页面上,如下所示。

developer.apple.com 网站

这是点击回车后的目标签名。

目标签名

这是目标的“构建设置”

为目标构建设置

这是我的 info.plist,它与我在设备上运行的应用程序相同。

信息.plist

这是一个单元测试签名

测试签名

这是单元测试目标的“构建设置”

测试构建设置

App Targets“General”面板不允许我在 Bundle Identifier Field 中输入任何内容。 您可以看到它显示为<Multiple Values>

在此处输入图像描述

我遇到了同样的错误,我发现当我在我的应用程序中使用 firebase 时,我错过了添加或以某种方式从我的项目中删除了GoogleService-Info.plist文件。 你可能正在做同样的事情。

从构建设置中检查您的产品包标识符,它们对于不同的构建可能具有不同的值。 将捆绑标识符更改为相同应该可以解决此问题。 在您的情况下,删除调试下的“任何 SDK”。

在此处输入图像描述

看起来好像你的.xcodeproj容器搞砸了。

一些选项:

  • 确保所有目标(包括测试和扩展)都在其Info.plist文件中设置了产品包标识符。

  • 尝试仅在目标的Signing and Capabilities字段中设置产品捆绑标识符,而不是在不同的地方手动编辑它。 否则,您将面临引入不一致的风险。

  • 如果您想深入了解project.pbxpro ,您可以搜索PRODUCT_BUNDLE_IDENTIFIER键并手动检查条目。 与新的 Xcode 项目进行比较,了解您希望在何处/如何找到密钥。

  • 您可以通过消除 go 并从原始项目中删除目标/自定义配置,直到它成功安装。

  • 创建一个新的 Xcode 项目并移动您的代码。

目标 > 构建设置 > 信息 plist 文件

检查 Info.plist 文件路径

图片

目标 > 构建设置 > 打包

在“Info.plist 文件”中添加“Target_Name/Info.plist”

在此处输入图像描述

就我而言,消息与问题并不完全对应。
首先,我在目标的常规设置中的启动屏幕不好。
其次,我检查了丢失的 Splashscreen.png,然后删除了它。 然后它完美地工作。
我建议检查资源等中是否缺少元素...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM