我使用的是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'>)
7条答案
按热度按时间gblwokeq1#
我遇到了同样的问题(在我的例子中没有名为“resources”的文件夹,所以问题在其他地方)。
解决方案:确保Info.plist文件列在每个目标的BuildPhases-〉CopyBundleResources部分中。
qyzbxkaa2#
出现此问题是因为我的应用根目录中有一个名为“resources”的文件夹。将此文件夹重命名为“stuff”解决了此错误,但由于资源的设置方式,这非常不方便。
我猜iOS在应用程序文件夹结构中有一个未记录的“资源”文件夹,在应用程序中添加一个“资源”文件夹会产生冲突并覆盖其中的一些元数据。
最初的错误是在我将
--deep
添加到我的codesign标志后出现的,实际上并不需要它。eanckbw93#
对我来说,重新启动电脑解决了这个问题。其他的都不起作用。
=/
o0lyfsai4#
同样的问题总是发生后,创建一个文件夹,如非常常见的一个支持文件或任何其他folderName,并把你的info.plist文件在那里。这里是如何解决它:- 项目-〉目标-〉选择您的应用-〉构建设置-〉打包-〉Info.plist -〉双击旧文件路径并将其更改为新文件路径。
例如,如果您创建了一个名为Supporting Files的文件夹,并将info.plist文件移到其中,则新文件路径应为:- 您的应用程序名称/支持文件/信息列表
jvidinwx5#
在我的例子中,在构建时将目标设备更改为iOS模拟器是有效的。
35g0bw716#
单击Info.plist文件检查其目标。
gpfsuwkq7#
在我的例子中,我是根据@Mussa Charles的部分答案来解决的:
下面是如何修复它:- 项目-〉目标-〉选择您的应用程序-〉构建设置-〉打包-〉Info.plist
Debug或Release中没有值,所以我从另一个正在工作的应用程序中复制了值,并更改为当前应用程序名称:
$(SRCROOT)/我的应用程序名称/信息列表
(使用Xcode版本14.2)