我最近升级到Xcode 10,开始更新应用程序以切换至4.2,经过大约一天的重建第三方框架并添加了解决各种问题的方法,我得以在新的模拟器上运行我们的应用程序。
但是,当我尝试在个人电话上运行(运行iOS 12.0 GM)时,如标题所述,在安装应用程序时遇到错误。
我知道在SO和Internet上有lot到already answered questions中的Ensured code signing required is set to YES in the SDKSettings.plist,但是我无法使其中任何一个起作用
它已经阻塞了我大约一天半的时间,所以我想知道是否有人对如何缓解这种情况有所了解。
这是到目前为止我没有采取的步骤(也许将来它们会为其他人使用!)
code sign on copy
Developer
而不是Distribution
任何帮助将不胜感激:)
更新:我尝试在一台新计算机上从头开始重新下载和重建,并且发生相同的问题。有趣的是,我可以很好地存档和验证该应用程序。
还尝试使用相同的捆绑软件ID签署一个空项目,并且效果很好。因此,问题可能出在我们的第3方框架中,或者是从Xcode 9.4过渡时启用的一些奇怪设置。开始逐个删除第3方框架,直到我将其编译。
更新2 :仍然没有运气。尝试清除大多数框架,但一无所获。以下是设备日志,想知道Skipping a profile because of error 0xe8008012
是否与此有关:
{{3}}
更新3 :因此,通过在构建阶段注释掉carthage copy-frameworks脚本(并在执行此操作后清理/核对派生数据),我能够安装它。当然,这意味着它会因为缺少那些框架而在启动时崩溃,但这确实意味着问题是与迦太基或链接的迦太基框架之一有关。不是我们的签名证书,配置文件或代码库。尝试一一删除那些框架,我将在这里进行更新。
最终更新终于弄清楚了。解决方案原来是很合适的(见下文),但是希望这个问题可以作为互联网上与该问题相关的每个解决方案的汇总。
答案 0 :(得分:7)
想通了:
我遇到了迦太基问题:https://github.com/Carthage/Carthage/issues/2472,并在将内容转移到xcode 10时使用了他们建议的设置EXPANDED_CODE_SIGN_IDENTITY =''的解决方案。
很明显,这行是在复制框架时导致迦太基自身受伤并导致错误的原因。我下载了最新版本的迦太基来解决此问题,然后删除了EXPANDED_CODE_SIGN_IDENTITY=''
行,一切正常。真是浪费时间。
答案 1 :(得分:5)
不确定这是否也是您的情况,但是最近我在尝试在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=()
# ...
答案 2 :(得分:4)
答案 3 :(得分:3)
我在xcode 10.0(10A255)上遇到了同样的问题。
无效签名-密封资源丢失或无效。路径[xxxx.app/xxxxx]上的文件未正确签名。
xcode 9.4.1(9F2000)始终能够毫无问题地提交应用程序。
我可以解决以下问题:删除所有支持文件(txt,json,rtf,html,ttf等),然后再次添加它们。
我建议您提交不包含文件的构建。如果可行,您可以逐步添加它们
答案 4 :(得分:1)
就我而言,我同时拥有无效的iPhoneXS设置和捆绑标识符冲突。 Xcode升级后尝试了我的项目,并说连接了新手机。完成上述步骤后(完全重新创建了钥匙链和配置文件,删除了永久文件夹等...)。
关于目标项目设置:
我敢肯定,只有软件包标识符冲突会阻止我的设备正常自动进入配置的设备。
答案 5 :(得分:1)
我已经尝试了该线程中的所有内容,但没有任何效果。因此,我刚刚重新安装了Xcode,突然一切恢复正常。
答案 6 :(得分:0)
在项目目标的构建阶段/迦太基中,输入迦太基命令,如下所示:
EXPANDED_CODE_SIGN_IDENTITY =''迦太基复制框架
这只是解决get environment var问题时的临时解决方案。
答案 7 :(得分:0)
摘要:
问题解决了,等了一晚,什么都不做。
详情:
App Installation failed. No code signature found
昨天折磨了我一整个下午,
我尝试了所有方法: “构建设置、框架设置、缓存目录、签名设置、清理、重新初始化、重新 git-clone、cocopods 清理等。”
结果证明它们完全无效/不起作用。
所以,我下班回家了。睡个好觉后,早上一切正常。
我猜测,我的问题与开发者捆绑标识符注册中的异常延迟有关。
但最终,事情仍然没有明确的原因,仍然无法正常工作。
-- 更新 --
我在另一个项目中再次遇到了这个问题。
通过将所有导入的框架作为当前项目的目标,而不是将外部框架作为子项目导入来快速修复它