xcode 如何解决“错误:无法读取应用程序的Info.plist(无法加载DVTFilePath的信息字典)”

ybzsozfc  于 2023-01-02  发布在  其他
关注(0)|答案(7)|浏览(600)

我使用的是Xcode版本7.1.1(7B1005)
我尝试构建的iOS应用程序是通过复制现有的Mac版本的应用程序,并更改相关的目标操作系统设置而生成的。我以前在另一个应用程序上成功地完成了这一操作,没有任何重大问题。然而,该应用程序的Info.plist文件(直接从工作应用程序复制)可能会导致某种问题。

  • iOS版本的Xcode构建设置中的“Info.plist file”设置被设置为正确的路径。如果我将其设置为非工作路径,我会得到一个不同的错误(ProcessInfoPlistFile报告错误)
  • 我检查了构建的应用程序包,它确实包含一个Info.plist文件。

以下是我的问题产生的错误:

replacing existing signature
bundle format unrecognized, invalid, or unsuitable

Command /usr/bin/codesign failed with exit code 1

我通过在codesign标志中添加--deep来解决第一个错误,添加后我会得到这个错误:

Validate /Users/me/Library/Developer/Xcode/DerivedData/long string of characters/Build/Products/Debug-iphoneos/my\ app\ name.app
    cd /Users/me/Perforce/workspace/project/Platforms/OSX
    export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"
    export PRODUCT_TYPE=com.apple.product-type.application
    builtin-validationUtility /Users/me/Library/Developer/Xcode/DerivedData/long string of characters/Build/Products/Debug-iphoneos/my\ app\ name.app

error: Failed to read Info.plist of app /Users/me/Library/Developer/Xcode/DerivedData/long string of characters/Build/Products/Debug-iphoneos/my app name.app (Couldn't load Info dictionary for <DVTFilePath:0x7f97125bb4b0:'/Users/me/Library/Developer/Xcode/DerivedData/long string of characters/Build/Products/Debug-iphoneos/my app name.app'>)
gblwokeq

gblwokeq1#

我遇到了同样的问题(在我的例子中没有名为“resources”的文件夹,所以问题在其他地方)。
解决方案:确保Info.plist文件列在每个目标的BuildPhases-〉CopyBundleResources部分中。

qyzbxkaa

qyzbxkaa2#

出现此问题是因为我的应用根目录中有一个名为“resources”的文件夹。将此文件夹重命名为“stuff”解决了此错误,但由于资源的设置方式,这非常不方便。
我猜iOS在应用程序文件夹结构中有一个未记录的“资源”文件夹,在应用程序中添加一个“资源”文件夹会产生冲突并覆盖其中的一些元数据。
最初的错误是在我将--deep添加到我的codesign标志后出现的,实际上并不需要它。

eanckbw9

eanckbw93#

对我来说,重新启动电脑解决了这个问题。其他的都不起作用。
=/

o0lyfsai

o0lyfsai4#

同样的问题总是发生后,创建一个文件夹,如非常常见的一个支持文件或任何其他folderName,并把你的info.plist文件在那里。这里是如何解决它:- 项目-〉目标-〉选择您的应用-〉构建设置-〉打包-〉Info.plist -〉双击旧文件路径并将其更改为新文件路径。
例如,如果您创建了一个名为Supporting Files的文件夹,并将info.plist文件移到其中,则新文件路径应为:- 您的应用程序名称/支持文件/信息列表

jvidinwx

jvidinwx5#

在我的例子中,在构建时将目标设备更改为iOS模拟器是有效的。

35g0bw71

35g0bw716#

单击Info.plist文件检查其目标。

gpfsuwkq

gpfsuwkq7#

在我的例子中,我是根据@Mussa Charles的部分答案来解决的:
下面是如何修复它:- 项目-〉目标-〉选择您的应用程序-〉构建设置-〉打包-〉Info.plist
Debug或Release中没有值,所以我从另一个正在工作的应用程序中复制了值,并更改为当前应用程序名称:
$(SRCROOT)/我的应用程序名称/信息列表
(使用Xcode版本14.2)

相关问题