xcode 应用程序安装失败,未找到代码签名

wz1wpwve  于 2023-01-02  发布在  其他
关注(0)|答案(9)|浏览(320)

我最近升级到了Xcode 10,并开始更新我们的应用程序以切换到4.2。经过一天左右的重建第三方框架和添加各种问题的解决方案,我能够在新的模拟器上运行我们的应用程序。
然而,当我尝试在个人手机(运行iOS 12. 0 GM)上运行时,我在安装标题中描述的应用程序时遇到了错误。
我知道有一个lotalreadyansweredquestions关于这个主题在SO和互联网上,但我无法让任何这些工作。
它已经阻止了我大约一天半了,所以我想知道是否有人有任何见解,如何可以减轻这一点。
以下是我迄今为止采取的一些没有奏效的步骤(也许这些步骤将来会对其他人奏效!):
1.清除派生数据
1.删除并重新下载我的计算机上的所有预配配置文件
1.清理构建目录(cmd + k & cmd + shft + k)
1.从我的手机中删除原始应用
1.重新启动Xcode(版本10.0(10A 254 a)[通用汽车])
1.重启我的Mac(运行macOS High Sierra的MacBook Pro 2018)
1.正在重启我的设备(运行iOS 12.0 GM的iPhone X)
1.上述内容的多种组合,包括同时使用
1.在www.example.com上为应用重新生成预配配置文件developer.apple.com(我们使用手动签名)
1.在www.example.com上删除和重新创建应用程序的预配配置文件developer.apple.com
1.为蒂姆·库克献祭了一只山羊
1.确保签名证书与预配配置文件匹配
1.从我的电脑中删除旧版本的Xcode &确保命令行工具在xcode 10.0 gm版本上
1.删除并重新安装Xcode 10.0 GM
1.确保所有复制的框架都已检查code sign on copy
1.使用swift 4.2编译器通过Carthage重新构建所有框架(记住,这一切都在模拟器上工作)。

  1. Ensured code signing required is set to YES in the SDKSettings.plist
    1.已删除计算机上所有旧的签名证书
    1.在www.example.com上删除并重新创建证书developer.apple.com
    1.已将我的设备删除并重新添加到developer.apple.com
    1.将代码签名从手动更改为自动
    1.已确保签名证书为Developer而非Distribution
    任何帮助都将不胜感激:)
  • 更新 *:我试着在一台新的机器上重新下载和重建,同样的问题发生了。有趣的是,我可以很好地存档和验证应用程序。

我也尝试过用相同的bundle ID签署一个空的项目,它工作得很好。所以这个问题要么是在我们的第三方框架中,要么是在从Xcode 9.4过渡时启用了一些奇怪的设置。我将开始逐个删除第三方框架,直到我可以编译它。

  • 更新2*:仍然没有运气。尝试清除大多数框架,但一无所获。以下是设备日志,想知道Skipping a profile because of error 0xe8008012是否与此有关:

https://gist.github.com/joshuawright11/6889ce1a0872262df77f97d63830baa5

  • 更新3*:因此,我能够通过在构建阶段注解掉carthage copy-frameworks脚本来安装它(并在这样做之后清理/销毁派生数据)。当然,这意味着它在 Boot 时崩溃,因为它缺少这些框架,但这确实意味着问题要么是与carthage或其中一个链接的carthage框架有关。或者代码库。我将尝试一个一个地删除这些框架,然后在这里更新。
  • 最终更新 * 终于想通了。这个解决方案原来是相当小众的(见下文),但希望这个问题可以作为互联网上与这个问题相关的每一个解决方案的汇编哈哈。
fnx2tebb

fnx2tebb1#

我想明白了:
我遇到了这个问题与迦太基:https://github.com/Carthage/Carthage/issues/2472,并使用了他们建议的解决方案,设置EXPANDED_CODE_SIGN_IDENTITY ='',当我把东西转移到xcode 10。
很明显,这一行代码导致了carthage在复制框架时伤害了自己,从而导致了错误。我下载了carthage的最新版本来修复这个问题,然后删除了EXPANDED_CODE_SIGN_IDENTITY=''行,一切都正常了。真是浪费时间。

r6hnlfcb

r6hnlfcb2#

不确定这是否也是你的情况,但我最近在iPhone上运行React Native应用时也遇到了这个错误,在我集成了Lottie library for React Native后开始出现
此问题是由在生成阶段中添加的此运行脚本引起的:http://ikennd.ac/blog/2015/02/stripping-unwanted-architectures-from-dynamic-libraries-in-xcode/。该脚本无法从Lottie.framework提取体系结构,从而导致"input file (.../Lottie.framework/Lottie) must be a fat file when the -extract option is specified
为了解决这个问题,我在脚本中添加了一个验证来跳过非脂肪文件:

# ...
echo "Executable is $FRAMEWORK_EXECUTABLE_PATH"

if lipo -info "$FRAMEWORK_EXECUTABLE_PATH" | grep -iq "Non-fat file"
then
echo "This is a non-fat file, skipping"
continue
fi

EXTRACTED_ARCHS=()
# ...
7fhtutme

7fhtutme3#

对我来说,这是我的Carthage框架代码符号。我通过像下面这样设置它们来修复它:

63lcw9qa

63lcw9qa4#

我在Xcode 10.0(10A 255)上也遇到过同样的问题。
无效签名-密封资源丢失或无效。路径[xxxx.app/xxxxx]处的文件未正确签名。
xcode 9.4.1(9 F2000)总是能够提交应用程序而没有问题。
我可以通过删除所有支持文件(txt、json、rtf、html、ttf等)然后再次添加来解决这个问题。
我建议你提交一个没有这些文件的构建版本。如果这样做有效,你可以一步一步地添加它们

0vvn1miw

0vvn1miw5#

在我的情况下,我有一个无效的iPhoneXS供应和捆绑包标识符冲突。我的项目是在Xcode升级后尝试的,并说新的手机连接。在完成上述步骤(完全重新创建密钥链和配置文件,删除持久文件夹等...)。
在目标项目设置上:
1.将捆绑包标识符从www.example.com设置com.proj.app为其他任何内容,例如:com.proj.app2
1.将产品名称从Product更改为Product123
我很确定只有捆绑包标识符冲突阻止了我的设备正常自动进入配置的设备。
1.将标识符改回正常(如果需要)

dxxyhpgq

dxxyhpgq6#

我已经尝试了这个线程中的所有方法,但是没有任何效果。所以我只是重新安装了Xcode,突然一切都恢复了正常。

rpppsulh

rpppsulh7#

在项目目标的构建阶段/Carthage中,将carthage命令如下所示:
EXPANDED_CODE_SIGN_IDENTITY =''迦太基复制框架
这只是一个临时的解决方案,因为get environments var问题已经解决。

pu3pd22g

pu3pd22g8#

摘要:

    • 问题解决了,等了一个晚上,什么都不做。**

详情:
昨天App Installation failed. No code signature found折磨了我一下午
我尝试了各种方法:构建设置、框架设置、缓存目录、签名设置、清理、重新初始化、re-git-clone、cocopod清理等。
结果发现它们完全无效/不起作用。

    • 于是,我下班回家,美美地睡了一觉,第二天早上一切正常**

,我的问题与开发人员Bundle-identifier注册中的异常延迟有关。
但最后,事情仍然打破和工作没有明确的原因。

  • 更新-
    我在另一个项目中再次遇到了这个问题。
    通过将所有导入的框架作为当前项目的目标,而不是将外部框架作为子项目导入,快速修复了该问题
ajsxfq5m

ajsxfq5m9#

如果还有人感兴趣:我刚刚发现了另一个新的Xcode 14会抛出这个错误的例子。我的应用程序是在开发,只有链接到图标;我做了一些磁盘清理,将图标移动到一个新的文件夹。当我试图重建/运行时,我得到了这个错误。

相关问题