我一直在浏览Stack几个小时试图修复这个错误,我已经尝试了所有我能找到/想到的东西。我正在向App Store提交现有应用程序的更新,在提交构建时,我一直收到此错误:
签名无效。代码对象根本没有签名。确保您已使用分发证书(而非临时证书或开发证书)对您的应用程序进行了签名。验证Xcode中的代码签名设置在目标级别是否正确(覆盖项目级别的任何值。另外,确保您上载的包是使用Xcode中的Release目标而不是模拟器目标构建的。
毫无疑问,我的应用程序使用分发证书签名,安装并选择了正确的配置文件,配置文件包含正确的证书,我删除了配置文件并创建了新配置文件以尝试修复错误,我重新安装了证书,重新启动Xcode ...多次清理项目,甚至重新启动我的系统;我很难过。
另外:当我尝试导出构建时,即使我已选择使用我的配置文件并且它似乎使用我选择的配置文件构建,它表示它正在使用“XC [我的配置文件的名称]”配置文件。当我检查门户网站时,现在是我创建的配置文件,以及一个与XC相同标题的单独配置文件。即使我在开发人员门户网站上删除此配置文件,它也会被重新创建?这会导致提交错误吗?请帮忙。
这是我在应用程序中找到导致错误的脚本文件的方式:
grep -r '#!/' *
我遇到过同样的问题。在我的情况下,我包括我自己的框架,其中有一些脚本文件,我从框架目标中删除了这些脚本文件,问题就消失了。
当我的一个Cocoapods错误地指定了podspec中的资源以便脚本被不恰当地包含在内时,就会出现此问题。
将可疑podspec更新为仅包含资源文件类型解决了该问题。在这种情况下,我在规范中添加了xcassets
。
s.resources = '<path>/**/*.xcassets'